• ベストアンサー

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

ExcelのIF関数について質問があります。 B2,C2,D2に入力されている文字を一つずつスペースを設けて、A1に自動的に入力されるような関数を作りたいのですが、どうしてもできません。 B2,C2,D2に文字が入力されていれば、=B2&" "&C2&" "&D2 という関数でこの問題は解決できます。 しかし、もしC2が空白なら、上記関数ですと、スペースが2つできてしまいます。 ●もし空白なら、スペースを作らないというIF関数を作りたく試行錯誤しましたが、できませんでした。 どなたかおわかりの方教えて頂けないでしょうか? よろしくお願い致します。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

ご質問の直接の回答としては、 =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個付いて残ってしまっているみたいな結果にならないよう、注意もしてください。

monkey7777
質問者

お礼

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

その他の回答 (3)

  • m_and_dmp
  • ベストアンサー率54% (987/1817)
回答No.3

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

monkey7777
質問者

お礼

ありがとうございます!

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.2

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

monkey7777
質問者

お礼

ありがとうございます!

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.1

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

monkey7777
質問者

お礼

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