• ベストアンサー

画像のようなエクセルのA~D列に任意文字列が入っています。

画像のようなエクセルのA~D列に任意文字列が入っています。 E1に 「A1(半角スペース)+B1~D1のいずれかのうちの1つ」 を出力させたいのですが、ブランクの欄もあるので =IF(C2="",B2,C2) など入力してみたのですが、うまくいきません。 最終的に 「A1(半角スペース)+B1~D1のいずれかのうちの1つ」 を表示させることはできないでしょうか? 詳しい方、アドバイスお願いいたします。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

E1セルには次の式を入力し下方にオートフィルドラッグすればよいでしょう。 =A1&" "&IF(COUNTA(B1:D1)=0,"",INDEX(B1:D1,RANDBETWEEN(1,COUNTA(B1:D1)))) スペースを付けた後の式は、もしもB1セルからD1セルの間にデータが無ければA1のみを表示し、そうで無い場合には1からB1セルからD1セルに入っているデータの数の間でランダムに数を選び、その数と同じB列からD列の間の列のデータを表示しなさいということです。

ROLLY617
質問者

お礼

回答ありがとうございます。 INDEXというのを知りませんでした。 試しにやってみたらきちんとできました。 とても勉強になりました。 ありがとうございました。

その他の回答 (1)

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

 ="A1(半角スペース)+B1~D1のいずれかのうちの1つ" かな? それとも  =A1&" +"&B1&"~"&D1&"のいずれかのうちの1つ" かな? 文字列をつなげる時は +記号ではなく &記号でつなぎます。 また、セルの値はセルの記号をそのまま、任意の文字列は ダブルクォーテーション( " )で挟みます。 いろいろ試して理解しましょう。

ROLLY617
質問者

補足

ご回答ありがとうございます。 わかりづらくてすみません。 ="A1(半角スペース)+B1~D1のいずれかのうちの1つ" です。 A1と「B1~D1の間のいずれかのうちの1つ」の間に入れたいのは半角スペースです。 A1は固定で入れるので =A1&" " なのだろうということはわかるのですが、 B1~D1から適当に1つ抽出して、それを =A1&" " の後につなげる記述方法がわかりません。 エクセルに適当に抽出してもらうことはやはり不可能かと思い、 D1が空白だったらC1、 C1が空白だったらB1、 とかの条件文を考えてみましたが、これじゃランダム抽出にならないので困っています。 引き続きよろしくお願いいたします。