- 締切済み
Excel関数について
Excel関数を教えてください。 =IF(AA6="123市",VLOOKUP(AA6,参照シート!$Z$2:$AA$8,2,FALSE),VLOOKUP(AA6,参照シート!$T$2:$U$36,2,FALSE)) ↑このような関数を立てました。 市町村番号(自社のもの)を検索したいと思っています。 『もし、123市なら参照シートの表(2)Z2-AA8の番号を、それ以外の市町村なら参照シートの表(1)T2-U36の番号を返せ』と。 “それ以外の市町村”の表示はうまくいきました。 問題は、123市は大きな市で、その中でまた001~006まで支部として分かれています。 住所の「123市◎◎4-5-6」とあるように、◎◎で支部分けされています。 住所はAB6に入力されています。 これを支部番号まで表示できるような関数が作れませんか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- dogsiva
- ベストアンサー率32% (92/279)
おそらく、参照シートのZ行に支部の名前、AA行に支部番号、 T行とU行もまた支部の名前、支部番号が入力されているのだろうと思います。 AA行に市町村の名前を入力、AB行に住所を入力したとき、 関数を入力したセルに支部番号が表示されるようにしたいのだとします。 そのとき、「AA行」と「参照シートのT行」は同じ文字列が入るのでうまくいきます。 しかし、「AA行」と「参照シートのZ行」は同じ文字列が入っていないためうまくいきません。 うまくいくようにさせるには、「◎◎」だけを抽出し、それに基づき検索する必要があります。 (これは「参照シートのZ行」のデータが「123市◎◎」となっているか、または「◎◎」となっているかでも求める式は違ったものになります。) 例: ・AB行が「◎◎4-5-6」などのようになっている ・参照シートのZ行は支部名のみ ・先頭の文字だけでほかの支部と識別できる場合 =if(AA6="123市",INDEX(参照シート!$AA$2:$AA$8,MATCH((LEFT(AB6,1)&"*",参照シート!$Z$2:Z$8,0),1),VLOOKUP(AA6,参照シート!$T$2:$U$36,2,FALSE)) (正直なところ、これだけで検索に活用するのは苦しいかもしれません・・・。) おそらく「◎◎」だけの行をつくることで、もっとシンプルな表でかつ正確に検索しやすいものができると思います。 そうすれば質問中のif文がTRUEだったときのvlookup関数の検索文字列を「◎◎」を入力した行に変更するだけで 大丈夫になるはずです。
- hige_082
- ベストアンサー率50% (379/747)
=IF(AA6="123市",VLOOKUP(AA6,参照シート!$Z$2:$AA$8,2,FALSE)&VLOOKUP(AB6,参照シート!$Z$2:$AA$8,2,FALSE),VLOOKUP(AA6,参照シート!$T$2:$U$36,2,FALSE)) とすればよいのでは?