- ベストアンサー
エクセルの文字列の検索に関して
また、エクセルに関しての質問です。 例えば A B C D 1あ 1 2い 2 3う 3 4え 4 5お 5 6か 6 7き 7 8く 8 このような漢字で文字列が縦に入力されていて、 A B C D E 1あ 1 お 5 2い 2 う 3 3う 3 4え 4 5お 5 6か 6 7き 7 8く 8 このようにD列にある文字に対してA列にある文字で該当する文字を発見し横のBセルにある番号を取ってくるということがしたいです。 この場合だとD1は「お」なので、A列の上から見ていくとA5に「お」があるので、B5の数字「5」をEに入力といったような具合です。簡単なように見えますが、複数の文字列を横断的に検索することができません。 誰か詳しいお方お教え願います。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
#1 Cupperです 難しく考えず、基本に立ち返り次の数式を応用してください E1 =LOOKUP(D1,A1:A8,B1,B8) E2 =LOOKUP(D2,A1:A8,B1,B8)
その他の回答 (5)
- gyouda1114
- ベストアンサー率37% (499/1320)
回答番号:No.4です 恥ずかしながら又式が間違いでした E1に次の式です。 =INDEX($A:$B,MATCH(D1,$A:$A),2) E1に上記式をコピペでお試しを E2にオートフィルでコピー
- gyouda1114
- ベストアンサー率37% (499/1320)
回答番号:No.2.3です。 すみません今朝の回答のうち D1セルには誤りです。 D1セルに「お」D2セルに「う」 E1セルに =INDEX($A$2:$B$8,MATCH(D1,$A$2:$A$8),2) です。 またエラー #VALUE!【読み:バリュー】は、参照値(引数[ひきすう])が違っているときにひょうじされます。 回答番号No..3の画像を参考に E1セルに次の式をコピー、貼り付けしてお試しください。 =INDEX($A$2:$B$8,MATCH(D1,$A$2:$A$8),2)
- gyouda1114
- ベストアンサー率37% (499/1320)
- gyouda1114
- ベストアンサー率37% (499/1320)
- Cupper
- ベストアンサー率32% (2123/6444)
普通は VLOOKUP関数 LOOKUP関数を使います ただし、この関数はデータが一致する必要があります A B 1 あいうえお 1 2 かきくけこ 2 3 さしすせそ 3 4 たちつてと 4 5 なにぬねの 5 6 はひふへほ 6 7 まみむめも 7 から、"つ" を含むA列の文字に対してのB列の値を返す ということはできません この場合、"たちつてと" を検索対象にする必要があります そんな場合はC列などに作業列を設けて その列に =SEARCH(D$1,A1)>0 などと文字が含まれた場合 TRUE が返るようにして、これをE列で検索すればOK =LOOKUP(TRUE,C:C,B:B) など ただし、これは検索したい文字の種類の数だけ作業列を必要とします (あわせてもう一つ "ひ" などを検索したいのであれば、作業列をF列などに設ける)
お礼
#VALUE!が出て上手くいきませんでした。 せっかくですが申し訳ないです。 また、新たに分かりやすいように実際の状況を画像とともに投稿するのでそちらに解答してくれたら嬉しいです。