エクセルの関数に関して質問します。


a a,b,c a,c b
29 5 1 3 5
30 2 1 5
31 8 14
32 1 2


上記のような表がありまして、=+HLOOKUP("*a*",A1:E8,2,0)をすると1行目のみ検索をして数値を返されてしまい5という結果が表示されます。

個人的には、aと含まれているすべての行を検索して人文字でもaと含まれていたら検索して数値を返すようにしたいのです。

ただ、方法がわからず質問している次第です。

大変申し訳ありませんが、ご存じの方詳しく記載して頂けると幸いです。

回答の条件
  • URL必須
  • 1人1回まで
  • 13歳以上
  • 登録:2017/11/04 09:41:21
  • 終了:2017/11/04 18:35:11

回答(1件)

id:cdaotg No.1

犬猫ハーフ回答回数100ベストアンサー獲得回数272017/11/04 17:13:59

https://www.manetama.jp/report/vlookup-countif-1/
https://www.manetama.jp/report/vlookup-countif-2/

上記URLはVLOOKUPでの解説ですが、HLOOKUPでも同様の操作で可能です。

基本的な流れとしては、下記の通りとなります。

1. COUNTIFを使い、「何番目に出てきた'a'を含むセルか」を計算する。
2.1 'a'を含むセルの場合、適当な文字列(例えば"a"でも"hoge"でも構いません)と1.で計算した値を&で連結する。
2.2 'a'を含まないセルの場合、2.1以外の文字列(例えば"foo"等)を設定する。
3. 2.1・2.2で生成した文字列をキーとしてHLOOKUPで値を取り出す。

詳細は長くなりますので、先頭に記載したURLからご確認下さい。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません