• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:BCD列の下行にある文字列から、同行のA列の文字列を取り出したい)

BCD列からA列の文字列を取り出す方法は?

このQ&Aのポイント
  • エクセルで人物名と物品名を管理するためのブックを作成しています。BCD列の下行にある文字列から同行のA列の文字列を取り出す方法を教えてください。
  • 物品名の母音別索引シートを作成し、物品名に対応した人物名をシート1から各シートのB列に飛ばしたいですが、試した関数ではうまくできません。どのような方法がありますか?
  • ExcelでA列が人物名、BCD列が物品名となるブックを作成しています。BCD列の下行にある文字列から同行のA列の文字列を取り出す方法を教えてください。また、物品名に対応した人物名を各シートのB列に追加する方法も教えてください。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

次の方法は如何でしょうか。 =IF(COUNTIF(Sheet1!$B$1:$D$3,A1),INDEX(Sheet1!A:A,SUMPRODUCT((Sheet1!$B$1:$D$3=A1)*ROW(A1:A3))),"") ※セル範囲は調整して下さい。

403
質問者

お礼

報告が遅くなりまして、申し訳ありません。 関数の意味が飲み込めずに四苦八苦しましたが、理解できれば意外にあっさりと表ができました。 エクセルは難しいと言うのが私の感想ですが、したいことが出来るのは気持ちが良いですね。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#204879
noname#204879
回答No.3

スマートではないけど、次のような方法は如何かと。 1.Sheet1 の範囲 A1:D3 を選択して、[挿入]→[名前]→[作成]を実行 2.“左端列”のみにチェックを入れて[OK]をクリック 次に Sheet2 における作業手順を述べます。 Sheet2                  Sheet2   A   B   C   D           A   B  1    青木 山田 鈴木        1 あさ 青木 2 あさ 青木 #N/A #N/A  →→→   2 あき 青木 3 あき 青木 #N/A #N/A        3 あめ 山田 4 あめ #N/A 山田 #N/A        4 あく 鈴木 5 あく #N/A #N/A 鈴木 1.セル A2 から下に「物品名」を入力 2.セル B1 から右に「人物名」を入力 3.セル B2 に次式を入力して、此れを範囲 B2:D5 に複写(→結果を上の左に示す)   =IF(MATCH($A2,INDIRECT(B$1),0),B$1) 4.セル A1 を選択して、[編集]→[ジャンプ]→[セル選択]を実行 5.“アクティブセル領域”に目玉を入れて[OK]をクリック 6.ステップ4に同じ 7.“数式”に目玉を入れた後、その配下の“エラー値”以外の項目のチェックを   外して[OK]をクリック 8.[編集]→[削除]を実行 9.“左方向にシフト”に目玉を入れて[OK]をクリック 10.Sheet2 全体を選択(←行番号枠と列記号枠の交点である左上隅をマウスでチョ   ーン)して、[コピー]→[値の貼り付け]を実行 11.1行目を削除 その結果を、上の右に示しています。 Sheet3、Sheet4 も同様の手順を実行すれば好い。

403
質問者

お礼

報告が遅くなりまして、申し訳ありません。 他の方の意見も参考にさせて頂き、どうにか思っていたことが出来ました。 教えて頂いた方法、こんな方法もあるのかと、とても勉強になりました。 詳しいアドバイス、ありがとうございました。

すると、全ての回答が全文表示されます。
  • kapox
  • ベストアンサー率21% (17/79)
回答No.1

ちょっと、違うけど、作ってみました。   A   B   C   D   1青木 あさ かず あき 2山田 かわ こめ あめ  3鈴木 こつ あく ↑を「元表」シートとして、 仮に15行目くらいまで入力されると、 仮定して、それを、 「並替」シートにリンクさせる。 「元表」シートのBからB15へ「並替」シートのA1からA15 「元表」シートのC1からC15へ「並替」シートのA16からA30 「元表」シートのD1からD15へ「並替」シートのA31からA45 ただ、そのままだと、昇順に並び替えると、「あ」から順に 並んでくれないんで、 「並替」シートのA1は、=IF(元表!B1="","了",元表!B1) 「並替」シートのA16は、=IF(元表!C1="","了",元表!C1) 「並替」シートのA31は、=IF(元表!D1="","了",元表!D1) としてやる。 で、「並替」シートのB列へは、それに対応した氏名を入れる。 「並替」シートのB1は、=INDIRECT("元表!A"&ROW(元表!B1)) 「並替」シートのB16は、=INDIRECT("元表!A"&ROW(元表!C1)) 「並替」シートのB16は、=INDIRECT("元表!A"&ROW(元表!D1)) という風に、 後は、オートフィルで、A1からA15に、 A16からA30に、A31からA45へコピーする。(B列も同じく) 後は、A1セルをアクティブにして、昇順で並び替えるだけ。 全昇順の対応した名前が表示される。 ちなみに、「了」が邪魔な場合は、「条件付書式」で、 出てきた時に、フォントが白色になるようにすれば、いいと思う。 アップローダーで、作ったファイルを上げておいたので、参考にして下さい。(条件付書式はしてません)

参考URL:
http://up.kabubu.net/cgi/img2/25663.zip
403
質問者

お礼

報告が遅くなりまして、申し訳ありません。 他の方の意見も参考にさせて頂き、どうにか思っていたことが出来ました。 お早いアドバイス、ありがとうございました。 本当に助かりました。

すると、全ての回答が全文表示されます。

関連するQ&A