• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルについて質問です。)

エクセルの重複データ処理方法としてのVLOOKUP関数の使い方

このQ&Aのポイント
  • エクセルのデータ処理で重複データを取り扱う方法として、VLOOKUP関数を使用することができます。該当するデータがあれば、一番上のセルのB列の数字を取得することができます。
  • 具体的には、VLOOKUP関数を使って、指定した名前がデータ範囲内に存在するかを検索し、該当するデータがあればその一番上のセルのB列の数字を取得します。
  • 例えば、6行目のぶどうであれば、B列が150になるような処理が可能です。VLOOKUP関数を使うことで、重複データがあった場合に特定のセルの値を取得することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

6行目のぶどうは既に130なのに、どうしてそれが150になってしまうのかイミフメイのご相談ですね。 それに上に同じものが無かったらどうしたいのかも、ご相談が片手落ちです。 総合的にはマクロで書き換えたいご相談ということで。 sub macro1()  dim r as long  on error resume next  for r = 2 to range("A65536").end(xlup).row  cells(r, "B") = application.worksheetfunction.vlookup(cells(r, "A").value, range("A1:B" & r - 1), 2, false)  next r end sub 上に同じものが無かったら何もしない、という動作で。

yoshimitsu525
質問者

お礼

回答ありがとうございます。助かりました。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! >自セルより上の行に同じ名前が有った場合いその中で一番上のセルのB列の数字をもってくる・・・ とは最初に出現した行のデータというコトでしょうか? それとも「最大値」というコトでしょうか? 最初の出現の回答はすでに出ていますので、「最大値」と解釈して、関数の一例です。 関数の場合B列に表示という訳にはいきませんので、別列表示となります。 C列に表示するとします。 C1セルに =IF(A1="","",MAX(IF(A$1:A1=A1,B$1:B1))) これは配列数式になりますので、Ctrl+Shift+Enterで確定! この画面からコピー&ペーストする場合は 上記数式をドラッグ&コピー → C1セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Ctrl+Shiftキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これをフィルハンドルで下へコピーしてみてください。 ※ 解釈が違っていたた無視してください。m(_ _)m

yoshimitsu525
質問者

お礼

回答ありがとうございます。参考にさせていただきます。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

関数の場合(B列の値をB列のセルに表示は循環数式となり無理なのでC列に表示) C1に =VLOOKUP($A1,$A$1:$B1,2,FALSE) として下方にコピー

関連するQ&A

専門家に質問してみよう