Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10全般 : Excel 2021)
エクセル式
投稿日時: 26/02/26 08:56:28
投稿者: けんくん

はじめまして、けんくんと申します。
 
何度試行錯誤、試しても分からないのでご助言&ご回答をお願いします。
 
現在、以下のようなエクセル式を作成しておりますがうまく反応しません。
式の中でどこがまちがっているかわかりません。
かっこの位置を変えたりしていますが、上手くいきません。
 
どなたか
間違いの原因と正答をお願いします。
=IF(ISERROR(VLOOKUP(C1,参照!A4:B2498,2,FALSE),"",VLOOKUP(C1,参照!A4:B2498,2,FALSE))
 
以上です

回答
投稿日時: 26/02/26 09:20:04
投稿者: んなっと

C1と参照シートのA列のデータ型が違っていると、正しくヒットしません。
例えばC1とA10が見た目が同じなのに正しい結果が得られないときは、どこかのセルに
=TYPE(参照!A10)
=TYPE(C1)
としてみてください。上が2で下が1なら、A10は文字列、C1は数値のデータ型です。
 
強制的にC1を文字列にしたいときは数式の中のC1をC1&""に、
数値にしたいときはC1*1 に変更する方法もあります。

投稿日時: 26/02/26 09:29:01
投稿者: けんくん

ありがとうございます。
早速、試してみます。

回答
投稿日時: 26/02/26 09:38:31
投稿者: んなっと

あと参照シートのA列に、見えないゴミ文字が付いているとうまくいきません。
=LEN(参照!A10)
=LEN(C1)
で文字数を比較しましょう。

回答
投稿日時: 26/02/27 11:20:41
投稿者: ゆーたん

>=IF(ISERROR(VLOOKUP(C1,参照!A4:B2498,2,FALSE),"",VLOOKUP(C1,参照!A4:B2498,2,FALSE))
「参照」というシートだけ作って、この数式をそのままコピーしてセルに貼りつけてみたら、
「関数に対して引数が多い」と言われて、確定できませんでした。(^_^;)
 
大外のIF関数の第1引数に入っている、
中にVLOOKUP関数をまるまる抱えた、
ISERROR関数に閉じカッコが足りないのかな?
※この数式はセルから文字をコピーして貼り付けたのではないのかしら?
 
この式の骨組みは、
=IF(AAA,BBB,CCC)
という数式で、
 
AAAが検索値がなかった時のエラー処理(かな?)のためのチェック
ISERROR(VLOOKUP(1,2,3,4))
 
BBBは短くて、検索値がなかった時に返す値
""
 
CCCが実際にやりたいこと
VLOOKUP(1,2,3,4)
 
という認識に慣れると、まちがいも少なくなるかもしれません。

回答
投稿日時: 26/03/01 09:26:05
投稿者: simple

# たぶん投稿の際にカッコが足りないものをアップしてしまったものと思います。
# さすがにそのエラーであれば、間違いに気づくものと思われます。
 
本質的な議論は済んでいるものと思います。(たぶんデータの型の違いでしょうか)
ちなみに、普通は

=IFERROR(VLOOKUP(C1,参照!A4:B2498,2,FALSE),"")
と書くと思います。

トピックに返信