• ベストアンサー

重複するデータが含まれる列からVLOOKUPする

こんにちわ・・・ マイクロソフト、エクセルに関する質問なのですが。 「1以上の数値が入力されている列を選びだし、その列の1行目と2行目のデータを順に表示する。」 といったことがやりたいのですが、、、 うまく説明できてなくて申し訳ないです。 詳細は添付データの画像を参照ください。 何卒、ご回答のほどよろしくお願いいたします・・・

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

作業列使いますが E2セルに =IF(B2>0,ROW(),"") 下へコピィ 数値が入っている行のみ行番号を表示します。 G2セルに =IF(ISERROR(SMALL($E:$E,ROW(A1))),"",INDEX(B:B,SMALL($E:$E,ROW(A1)))) 右へコピィ。下へコピィします。 H2セル(価格)は =IF(ISERROR(SMALL($E:$E,ROW(C1))),"",INDEX(D:D,SMALL($E:$E,ROW(C1)))*F3) 下へコピィしては如何でしょうか。

stotzem
質問者

お礼

丁寧に教えてくれて、ありがとう\(*^▽^*)/ とても助かりました。。。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

5個程度なら配列数式でも良いとは思いますが あえてマクロに挑戦してみました。 自動記録を少し修正 Sub Macro1()   Range("f12:H18").ClearContents   Range("B12:C17").AdvancedFilter Action:=xlFilterCopy, _   CriteriaRange:=Range("B19:B20"), CopyToRange:=Range("F12"), _   Unique:=False   Range("F12") = "発注個数"   Range("H12") = "価格"   Range("H13:H17").FormulaR1C1 = _   "=IF(RC[-2]="""","""",LOOKUP(RC[-1],R13C3:R17C4)*RC[-2])"   Range("H13:H17") = Range("H13:H17").Value   Range("H18").FormulaR1C1 = "=SUM(R[-5]C:R[-1]C)"   Range("G18") = "合計" End Sub これを矢印に登録します 参考まで

stotzem
質問者

お礼

すごいですね! とても、勉強になります。。。 商品数は600個くらいなので、数式よりマクロが良いのですかね!? お二人方、とにかく本当にありがとう!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルの行のデータを列に連続並び換えしたい

    エクセルにて1年分の毎日7:00~17:00のデータが並んだ表を、添付画像の 赤枠で囲ってある例のように 時間軸をタテにした表に毎日のデータを同様に並べグラフを作成したいと 考えておりますが、手作業で1行ずつ行をコピーし列に変換するのではなく 早く出来る方法はないでしょうか。(表の値は分かりやすく連続した数値を 入力してあるだけで、本来はバラバラの数値です) ご教示いただければ幸いです。よろしくお願いいたします。

  • エクセルデータの列と行を入れ替える方法をご存知の方、教えて下さい。

    エクセルデータの列と行を入れ替える方法をご存知の方、教えて下さい。 今、A列(1行目から1,000行目位まで)に日付、B~F列にそれぞれ数値のデータを入れていますが、それを1行目に日付、2~6行目に数値のデータと言うように、いわゆるタテとヨコを入れ替えたいのですが、何か良い方法は無いでしょうか。 1,000日分位のデータがあるため、手で打ち換えるのもちょっと・・・ データは日付列が1列、データ列が5列、数値のみで数式などは入っていませんし、セル結合もしていません。単純に6列×1,000行位のエクセルデータです。 また、入れ替えるのでなく別のシートに入力し直す方法でも、同じシートの未使用スペースにコピーアンドペーストする方法でも構いませんし、(エクセルが何列使えるか知りませんが)1,000列使えないようなら幾つかに分割しても構いません。 ご存知の方がおられましたらよろしくお願いします!

  • 【Excel】重複するデータの検索

    Excel2003を使用しています。 A列にデータが入力されていたら、同行のC列の値(文字列)を取り出すようにしています。(VLOOKUP関数を使用) A列のデータは4桁の数値なのですが、そのデータの数値が重複している場合があって、そのときは行番号の小さい方のC列の値が取り出されますよね? データは同じでも別の行に入力されていれば、C列に入力されている値(文字列)も違うので、それが取り出されるようにしたいのですが、そういうことは可能でしょうか?

  • 特定の条件の時、数値を合算する

    添付ファイルを参照してほしいのですが。。。 1行目と2行目にそれぞれデータが入力されており、一番右にそれぞれの行の合計数値が入力されています。 2行目に数値が入力されていない場合、1行目の合計数値にその月は含まないようにするには、どうすればいいのでしょうか。 添付の画像でいうと、10月の2行目が空白なので、一番右端の1行目の合計数値に、10月は含まない…となります。 説明がわかり辛くてすみません。。困っているので、よろしくお願いします。

  • Excel 2007 重複データのチェックについて

    Excel 2007 重複データのチェックについて A列にあるデータ(約100件)で重複している値がある 行についてB列にフラグをつけます。 やりたいことはどの行とどの行が重複しているのかを すぐに分るようにしたいです。 添付画像のように重複している行に番号をつけていくことは可能でしょうか。 番号は1から順番に増えていきます。 自分は下記を考えましたが、これでは重複している行に「重複データ」と入る だけでわかりづらいです。 =IF(COUNTIF($A$2:A2,A2)>1,”重複データ”,”○”) よろしくお願いいたします。

  • ExcelのVLOOKUPの列番号を一括で変更したい

    検索しても自分では見つけられなかったので、質問させてください。 私はExcel2007の一個前のものを使っています。 仕事上、sheet1でVLOOKUPを使い、sheet2(データ入力用シート)の情報を読み取るブックを使っています。 作った人とは連絡が取れないので、知恵をお借りしたいです。 そのExcelのVLOOKUPでは、sheet2の14列目を読み取るようにしていますが、13列目に列を挿入して、15列目(挿入前は14列目)を読み取るようにしたいです。 しかし、sheet1のVLOOKUPは1500行も使っている上に、VLOOKUPを使っている行や別のデータを入れている行もあり、簡単には引数を14から15に変更出来ません。 sheet1のVLOOKUPの14を15に返る簡単な方法は無いでしょうか? つたない説明で申し訳ありません。 宜しくお願いします。

  • エクセル2010での重複データチェック

    エクセル2010で作成したデータの重複データチェックをしたいです。 顧客コードと、接触日 の両方とも同じデータが入っていれば 最初に出てきた行に1回目 再度出てきたデータ行に重複と表示したいです。 シートの項目(見出し)は下記のようになっています。 A列:顧客コード B列:顧客名 C列:接触日 D列:面談要旨 F列:結果 皆様、年末のお忙しいところ申し訳ありませんが、ご教示ください。 上記説明では、わかりにくいかと思い、スクリーンショットも添付いたします。 よろしくお願いいたします。

  • excelで縦1列の名簿を縦3列の名簿に反映

    excelでデータが縦に並んだ、名簿のマスターデータの ブックがあります。(添付画像上部参照) そのマスターデータから、別のexcelブックに 課名と氏名のみを抽出し、縦3列の名簿を 作成したいです。(添付画像下部参照) 今は課ごとにコピー&ペーストにて対応していますが、 マスターデータが変更されたら、縦3列の名簿の内容も 自動的に反映されるようにしたいです。 また、縦3列の名簿は、各課ごとに1行以上の 空白行を挿入して、課の区切りが 分かりやすいようにしたいです。 課の人数は流動的なので、課のセルの固定はできません。 何かいい方法はないでしょうか。 よろしくお願いします。 Excel2013

  • oracleのテーブルデータの列を昇順にしたい

     初めて利用するのでうまく説明できていないと思いますが、よろしくお願いします。  Microsoft Access(以下Access)にMicrosoft Excelのデータを取り込み,さらにAccessからoracle(9i)へエクスポートしたとき、列が正しい昇順になりません。  列には数値型1~80が入力されていますが、ソートにすると1,12,15,16…というように10の位の数字だけで判断(!?)されてしまいます。また行がとんでいたりもします。  これを正しく昇順に並べ替えるにはどうしたらよいでしょうか? なにぶん初心者な者で(小学生に教えるかんじで)分かりやすく教えてください。(^。^;)>

  • Excel 行の連続データを列に参照したいんです・・・

    Excelで縦のデータを横に参照したい場合どのように数式をコピーすればいいんでしょうか・・・?オートフィルをかけると行は固定されて、列は連続したデータになってしまいます。列を絶対参照にして行を相対参照にしてもできません。 すみません、どなたか教えてください。

専門家に質問してみよう