- ベストアンサー
2つの文字列に合うデータ取り出しについて
- A列に氏名、B列に旅館名、C列に部屋番号、D列を作り(=B+C)として他上記、G列に=VLOOKUP(旅館名&室番,$C$2:$D$100,2,FALSE)としましたがうまく行きません。
- データソートすればよいのですが、それではやりたい事にはならないのです。
- 旅館名と部屋番号に合う名前を取り出すために、E列に旅館名、F列に室番、G列に氏名という表を作成しました。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- MackyNo1
- ベストアンサー率53% (1521/2850)
>=IF(COUNTIF(D:D,E2&F2)=0,"",VLOOKUP(E2&F2,C:D,2,FALSE)) どこか駄目でしょうか?それとも検索キーはA列でないといけないとか? VLOOKUP関数の検索値をE2&F2と結合した文字にする場合は、検索範囲の一番左の列にこの文字列が無いとダメです(提示された数式ではC列に検索文字列がありD列に名前があるパターンの数式になっています)。 このようなケースではVLOOKUP関数の代わりに、以下のようなINDEX関数とMATCH関数を組み合わせて利用することになります。 =INDEX(A:A,MATCH(E2&F2,D:D,0)) ちなみにD列の結合補助列を使用せずに直接名前を表示したい場合は、以下のような配列数式を使用することになります。 =INDEX(A:A,MIN((($B$2:$B$100<>E2)+($C$2:$C$100<>F2))*10000+ROW($2:$100)))&"" 配列数式ですので、入力後Ctrl+Shift+Enterで確定してください。
お礼
解答ありがとうございます。 やはり一番左の列にないと駄目なんですね。 わかりました。
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
旅館、部屋番で全ての名前をリストしたいダケ?
補足
いえ、そこから別のシートに作っている平面図に自動で転記させたいのです。 よろしくお願いします。
- keithin
- ベストアンサー率66% (5278/7941)
こんな具合に作成します: A1に「検索キー」と記入 A2に =C2&D2 以下コピー B1に「氏名」と記入 B2以下にお客様名を列記 C1に「旅館名」と記入 C2以下に宿泊先を列記 D1に「室番」と記入 D2以下にお部屋を列記 E列に旅館名を繰り返し列記 F列に室番を列記 G2には =IF(COUNTIF(A:A,E2&F2),VLOOKUP(E2&F2,A:B,2,FALSE),"") と記入,以下コピーで完成。
お礼
A:氏名、B:旅館名、C:部屋番号、D:検索キー、E:旅館名、F:部屋番号、G:式 =IF(COUNTIF(D:D,E2&F2)=0,"",VLOOKUP(E2&F2,C:D,2,FALSE)) どこか駄目でしょうか?それとも検索キーはA列でないといけないとか? よろしくお願いします。
補足
早速の解答ありがとうございます 出来ることは出来たのですが、A列をC列の次に入れたりすると出来ないでしょうか? E2&F2はA列に作らないと駄目でしょうか? やっても、出来ないみたいなので。 それからA:D,2,FALSE、この2は何列目をさしているのでしょうか? よろしくお願いします