こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

Excel IF関数について質問です。

ExcelのIF関数について質問があります。

B2,C2,D2に入力されている文字を一つずつスペースを設けて、A1に自動的に入力されるような関数を作りたいのですが、どうしてもできません。
B2,C2,D2に文字が入力されていれば、=B2&" "&C2&" "&D2 という関数でこの問題は解決できます。
しかし、もしC2が空白なら、上記関数ですと、スペースが2つできてしまいます。

●もし空白なら、スペースを作らないというIF関数を作りたく試行錯誤しましたが、できませんでした。

どなたかおわかりの方教えて頂けないでしょうか?
よろしくお願い致します。

投稿日時 - 2016-01-10 11:45:33

QNo.9109022

すぐに回答ほしいです

質問者が選んだベストアンサー

ご質問の直接の回答としては、
=B2 & IF(C2="",""," ")&C2 & IF(D2="",""," "&D2)
のように組み立てることができます。式中で使っている、C2とD2の2つのパターンのどちらでもOKな事を確認してみて下さい。


一般論としてはIF関数じゃなく、既出回答で寄せられているようにTRIM関数を使った方が簡単です。
=TRIM(B2&" "&C2&" "&D2)
=TRIM(CONCATENATE(B2," ",C2," ",D2))

(C2や)D2が空白だったときに、結果の値が
「B2やC2の値と□」(□はスペース)
のように、後ろに余計なスペースが1個付いて残ってしまっているみたいな結果にならないよう、注意もしてください。

投稿日時 - 2016-01-10 12:54:27

お礼

非常にご丁寧に教えて頂きありがとうございます。
これで謎が解けました!!

投稿日時 - 2016-01-10 13:12:45

ANo.4

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(4)

ANo.3

=B2&","&IF(C2="","",C2&",")&D2

投稿日時 - 2016-01-10 12:40:05

お礼

ありがとうございます!

投稿日時 - 2016-01-10 13:12:36

ANo.2

=TRIM(B2&" "&C2&" "&D2)

投稿日時 - 2016-01-10 12:29:39

お礼

ありがとうございます!

投稿日時 - 2016-01-10 13:12:40

ANo.1

>どなたかおわかりの方教えて頂けないでしょうか?
IF関数を使わなくても目的の結果が得られます。
=TRIM(A2&" "&B2&" "&C2)
TRIM関数は先頭と末尾の空白文字を切り取る以外に文字列と文字列間の複数の空白文字を1個に切り詰めます。

投稿日時 - 2016-01-10 12:27:19

お礼

TRIM関数は初めて聞きました!
ありがとうございます!

投稿日時 - 2016-01-10 13:13:14

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-