例えば「F310」という検索値を、検索先の表から探したいのですが、そこでは「F31」や「F」といった短縮された文字で登録されています。
フル(4桁)で探し、無ければ3桁、それでも無ければ2桁、1桁...と、1桁ずつ減らしながら検索させる方法を教えて下さい。
また、検索先が常に検索値の左端から始まるとは限らないので、ワイルドカードを使おうと思っています。
1回だけ桁を削って検索だけなら、次のような式が作れたのですが、
=IF(ISERROR (VLOOKUP("*"&LEFT(A1,3)&"*",sheet!$A$1:$C$100,3,FALSE)),
"なし",
VLOOKUP("*"&LEFT(A1,3)&"*",sheet!$A$1:$C$100,3,FALSE)))
これを4桁→3桁→2桁→1桁 と繰り返させることが出来ません。。
ご教示お願いします。
No.2ベストアンサー
- 回答日時:
=IFERROR(VLOOKUP("*"&A1&"*",Sheet1!$A$1:$C$100,3,FALSE)
,IFERROR(VLOOKUP("*"&LEFT(A1,3)&"*",Sheet1!$A$1:$C$100,3,FALSE)
,IFERROR(VLOOKUP("*"&LEFT(A1,2)&"*",Sheet1!$A$1:$C$100,3,FALSE)
,IFERROR(VLOOKUP("*"&LEFT(A1,1)&"*",Sheet1!$A$1:$C$100,3,FALSE)
,"NA"))))
みたいな。
ありがとうございます。この数式を自分用に変えたら成功しました。どうやら自分でISERRORについて勘違いをしていたようです。これからはIFERRORを使ってみたいと思います。
No.3
- 回答日時:
先頭から何桁目まで一致するかをチェックする場合は次の数式で良いと思います。
A列が検索値、B列とC列が検索範囲としてVLOOKUP関数を使う方法です。
A1=IF(COUNTA($A1),IFERROR(VLOOKUP(LEFT($A1,4)&"*",$B:$C,2,FALSE),IFERROR(VLOOKUP(LEFT($A1,3)&"*",$B:$C,2,FALSE),IFERROR(VLOOKUP(LEFT($A1,2)&"*",$B:$C,2,FALSE),IFERROR(VLOOKUP(LEFT($A1,1)&"*",$B:$C,2,FALSE),"")))),"")
検索値が3桁以下のときB列の文字列にA列の先頭から3桁が含まれている(桁位置浮動)ことも含める場合は検索値の先頭にワイルドカードの"*"を付加してください。
Excel 2007以降のバージョンではIFERROR関数が使えますので、これを使って入れ子構造にすると効率的になります。
1番外側のIF関数はA列に検索値の文字列が入力されていないときのチェック用です。
COUNTIFまでご配慮頂けてありがとうございます。仰るようにIFERRORのほうが1つカッコが減ることで分かりやすいと理解出来ました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) excel関数部分一致について教えてください。 2 2022/08/05 14:35
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) Excelの関数についての質問です。(vlookup関数) A列 B列. C 1 大阪 50. 検索 6 2023/08/11 13:35
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) VLOOKUPで、検索先が3シートに分かれていて、番号の大小で検索するとエラーになります。 6 2023/07/14 19:09
- Excel(エクセル) エクセルのvlookupについて質問です 3 2023/01/05 15:15
- Visual Basic(VBA) vba 15 2023/04/07 12:33
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Google Maps iPhoneのGoogle検索窓を通常の大きさに 戻す方法を教えて頂けませんか?(切実) 日本全国の 2 2022/10/02 02:08
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの関数について教えてくだ...
-
VBAについての質問です
-
Excelにいついて質問です。
-
一つのセルに(例えばA1)入力...
-
エクセルファイルがファイルの...
-
【マクロ】名前を保存する際に...
-
Excel 複数列 A列B列C列一致 D...
-
エクセル vbaについて教えてく...
-
エクセルであるセルに数字を入...
-
Excelについて教えてください
-
エクセル マクロ チェックボックス
-
【マクロ】顧客番号にて一致さ...
-
エクセル共有したが、アクセス...
-
Excel分析ツールでのポアソン回...
-
【Excel】数字を3倍にし、なお...
-
エクセルのデーターが2か月前の...
-
LOOKUP関数を使えばいいのでし...
-
エクセルの神よ、ご回答を! エ...
-
Excelでセルの値が同じか...
-
エクセルを使っていて2024/5/15...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報