商品ごとにコードを付してデータシート(Sheet1)から仕入した商品を記録するシート(Sheet2)に転記するため、E7=INDEX(Sheet1!$C$3:$D$100,MATCH(D7,Sheet1!C3:C100,FALSE),2) と入力し、以降にコピーして、D7以降にコードを入力したのですが、エラーがでて上手くいきません。原因が解りません。教えて下さい。
なお図は添付していませんが、
Sheet1には、C3~C100まで101~連番で数字のコード、D3~D100までC列の数字ごとの商品名が入ってます。
Sheet2は、D7~D30セルにSheet1のコードを入力するとE7~E30にそれぞれ商品名が表示されようにした。
No.1
- 回答日時:
こんばんは
文章の説明だけなので、正しく解釈できているのかわかりませんけれど・・・
E7セルに
>=INDEX(Sheet1!$C$3:$D$100,MATCH(D7,Sheet1!C3:C100,FALSE),2)
で正しい(=思った通りの)結果が得られていて、下方にフィルコピーしたいのかと解釈しました。
フィルコピーするためには
=INDEX(Sheet1!$C$3:$D$100,MATCH(D7,Sheet1!$C$3:$C$100,FALSE),2)
としておけば良いものと思われます。
とは言っても、わざわざMATCH、INDEXの複雑な形式にしなくても
=VLOOKUP(D7,Sheet1!C$3:D$100,2,0)
でも十分ではないかと思いますが・・・
上記だと、D列が未入力の時はエラーになる可能性があるので、それを防止したければ、E7セルに
=IF(D7="","",VLOOKUP(D7,Sheet1!C$3:D$100,2,0))
としておけば、未入力の場合には空白となります。
(入力値が検索できない場合はエラー表示になります)
有難うございます。VLOOKUPで作成します。IFを使用して入力しましたが、補足コメントのようになります。別に作成したBOOKのテストシートでは正常なのですが........。試行錯誤でやってますが未だ判りません。
No.3
- 回答日時:
No.1さんの回答にもありますが、VLOOKUPでいいんじゃないでしょうか?
どうしてもINDEXとMATCHを使うなら
E7=INDEX(Sheet1!$D$3:$D$100,MATCH(D7,Sheet1!$C$3:$C$100,0))
ではどうでしょう。
それでもエラーが出るなら、何のエラーなのかを書いて下さい。
(本来は最初から書いて欲しい)
No.4
- 回答日時:
#N/Aエラーなら、検索値のデータ型が違うことが原因かと思われます。
式の問題ではないですね。最初からエラーが何かを書いて頂いていれば原因特定が早くできたのですが。
また、書式設定を変えるだけでは既に入力されたデータ型を変えることはできません。
とりあえず、商品一覧シートのC列を選択して
データタブ→区切り位置→完了
としてみてください。
それでエラーが解消されなければ今のシートのD列も同様にしてください。
No.6ベストアンサー
- 回答日時:
No1です
>別に作成したBOOKのテストシートでは正常なのですが~
私がご質問の文章を解釈して想定した内容と、そのテストシートは(多分)内容的に一致していると思われます。
>添付画面のように#N/Aのエラーになります。
そちらのシートは想定と異なる内容になっているものと想像されます。
シートの設定などは画像からは読み取れませんので、どこが異なるのかは不明ですが。
#N/Aエラーは(No1にも書きましたが)、検索値がヒットしない場合のエラーの可能性が高いです。
完全一致検索なので、(他の方もおっしゃっていますが)一番ありそうなのは、見た目には同じでも値の内容が異なっている可能性でしょうか。
試しに検索値(ご提示の画像の1枚目の、例えばD7セル)をコピーして、商品一覧シートのC3セルへペーストしてみるとヒットしたりしませんか?
(画像からは確認できませんけれど、シート名はちゃんと「商品一覧」になっていますよね?)
ご指導のとおり、D7セルをC3セルにペーストしたらヒットしました。どうも、データシートのコード番号が文字列に設定されていました。有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Visual Basic(VBA) VBA 別sheetからの転記なのですが 2 2023/05/22 15:55
- Visual Basic(VBA) VBA Userform転記のみ編集可 1 2023/06/29 11:03
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) excelにて、特定の列に数字入力してあれば、入力してある行コピーして 別ファイルに張り付ける 2 2022/08/11 05:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】エクセルにかいてあ...
-
エクセルの行の抽出について質...
-
Excel初心者です。 詳しい方、...
-
スプレッドシート クエリ関数 1...
-
別シートからの文字を変更
-
Excel初心者です。 詳しい方、...
-
Excel 2019 のピボットテーブル...
-
MOS365 Excel Expert / Excel R...
-
エクセルの数式で教えてください。
-
数学 Tan(θ)-1/Cos(θ)について...
-
4つのパターンを表示するEXACT...
-
各ページの1番上の表示について
-
INDIRECTを使わず excelで複数...
-
関数を教えて下さい。
-
Excelのグラフ軸について
-
Excel:一部のフォントでセルの...
-
エクセルで指定した日付、店舗...
-
Excel ウインドウ枠の固定をす...
-
EXACT関数とIF関数の組み合わせ...
-
写真のコピー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報
ご回答有難うございます。ご指導いただいた =IF(D7="","",VLOOKUP(D7,Sheet1!C$3:D$100,2,0)) を使用しましたが、質問と同様に添付画面のように#N/Aのエラーになります。「fx」で「値が偽の場合」が#N/Aとなっていますが解決できませんでした。なお、Sheet1のデータはBOOK内で他のシートにも =IFERROR(VLOOKUP(B16,商品一覧!$C$3:$D1669,2,FALSE),"")を使っていますが、問題ありません。また、式には問題ないので、書式設定を見直し標準に設定しましたが、#N/Aの表示です。エラーの原因がどこにあるのかわかりません。
追加画像です。