EXCELで指定した行内にある値以外を抽出する方法

このQ&Aのポイント
  • EXCELで指定した行内にある値以外を抽出する方法について教えてください。
  • 具体的な例として、A列にある値以外のものをE列から抜き出し、B列に値を返す方法が知りたいです。
  • VBAを使用しても構いませんので、効果的な方法を教えてください。
回答を見る
  • ベストアンサー

EXCELで指定した行内にある値以外を抽出する

こんにちは。 業務で困っていることがあるので、知恵をお貸し下さい。 EXCELで指定した行内にある値以外を抽出したいのです。 A1:対象品番 B1:対象外 C1:数量 D1:納入日 E1:品番  F1:数量 A2:HHH6030 B2: C2: D2:09/9/29 E2:HIH6260 F2:1 A3:HHH6060 B3: C3: D3:09/9/29 E3:IIHK110 F3:84 A4:HHH7000 B4: C4: D4:09/10/1 E4:HHH6030 F4:24 A5:HHH7130 B5: C5: D5:09/10/1 E5:IHH7000 F5:8 A6:HHH7140 B6: C6: D6:09/10/1 E6:HHH7130 F6:2 とあります。 ●E列の中から、A列にある値以外のものを抜き出し、B列に値を返す。 ●の作業をしたいので、VBAを使ってもかまいませんので、何か良い方法があれば教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

>マクロで手間をかけずにB列に値を出す方法はありますか? ありますが、手間をかけずに・・って 関数は数週間~数ヶ月で覚えられるけど マクロは覚えの良い人で半年~1年 私ら一般人は2年~4、5年、果ては諦める人も多いのですよ すいません、別に怒ってる訳でも、責めてる訳でもありませんので すいません、前置きが長くて Sub test() Dim 対象品番, x Dim 品番, y 対象品番 = Range("a2", Range("a65536").End(xlUp)) 品番 = Range("e2", Range("e65536").End(xlUp)) For y = 1 To UBound(品番) For x = 1 To UBound(対象品番) If 品番(y, 1) = 対象品番(x, 1) Then 品番(y, 1) = "" Next x Next y Range("b2").Resize(UBound(品番)) = 品番 End Sub こんな感じで如何でしょう?

08517502
質問者

お礼

わぁ!出来ました。 ありがとうございます。 わがままなお願いを聞いてもらって申し訳ありません。

その他の回答 (1)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

こう言う事かな? B2へ =IF(COUNTIF($A$2:$A$6,E2)>0,"",E2) 必要な所まで下へコピー

08517502
質問者

お礼

出来ました! ご親切にありがとうございます。

08517502
質問者

補足

補足させてもらって申し訳ないのですが、マクロで手間をかけずにB列に値を出す方法はありますか?

関連するQ&A

  • Excelで3次元成分を指定し、値を取り出す。

    A B C D E F 1 k( 0 0 0 ) 10 2 k( 1 0 0 ) 17 3 k( 2 0 0 ) 11 4 k( 3 0 0 ) 4 … から、B、C、D列のそれぞれの値を指定して、その時のF列の値を取り出すにはどうすればいいのでしょうか。ヘルプやインターネットを見ながら考えてみたのですがよくわかりません。VLOOKUP関数を使えばいけそうだと思ったのですがなかなか…。 考え方や、参考になるサイトなどお教えいただけないでしょうか。 よろしくお願いいたします。

  • Excelの表から値を抽出

    ---------- |a|b|c|あ| ---------- |a|b|d|い| ---------- |a|e|f|う| ---------- 少々判りにくいかもしれませんが、上記の3行4列の表があったとします。 1列目が「a」、2列目が「b」、3列目が「d」を条件として、4列目「い」を返す式を作るにはどのような式がいいでしょうか? 説明がわかりにくいかもしれませんが、お願いします。

  • エクセルでの条件付きの値結合

    エクセルでのリストの編集方法を教えてください。 下記のような商品リストがあります。全て文字列形式です。 A列:商品コード (例:ATR-0001)半角英数 B列:バリエーション名 (例:カラー)全角 C列:バリエーション値 (例:ブラック)全角 D列:バリエーション品番 (例:-bk)半角英数 このとき、A列の値が同じでかつ、B列の値が同じ行の場合、 C列の値をつなげた値をE列に、 D列の値をつなげた値をF列に返したいです。 A列とB列が同じ値なら、E列、F列に入る値も同一で結構です。 ただ、つなげる際は値と値を半角コロンで区切る必要があります。 同じ値が何行並ぶかどうかは一定ではなく商品ごとに異なります。 VBAでも数式でも結構です。 よろしくお願いいたします。

  • 同行複数セルの値から条件で特定の値を抽出したい

    次のようなことをするにはどうすればよいですか やりたいこと:複数の判定から、総合判定を出したい。  1  A    B  C   D    E    F  2     血圧 体重 血液検査  運動  総合判定  3 佐藤   B  C   A     D   【ココ】   4 鈴木   A  A   A     B   【ココ】 B~E列のセルには、A・B・C・Dのどれかが入力されている。 B~E列のうち、Dが1つでもあれば、F列に「D」 B~E列のうち、Dがなく、Cが1つでもあればF列に「C」 B~E列のうち、D・Cがなく、Bが1つでもあればF列に B~D列のうち、D・C・Bがなく、AのみであればF列に「A」 となるように、F列に表示するには、F列【ココ】にはどんな式を入れればよいですか。 ちなみに、F3には「D」が、F4には「B」が表示されるようにしたいのです。 よろしくお願いいたします。 ※別の方法でもっと簡単にできる方法がありましたら、重ねて教えて下さい。

  • エクセルについて

    下をエクセルの表だとします。 A     B      C       D       E 1 品番    数量   使用量    使用量    使用量2 S-1  500   600    600    400 3 S-2  200   S-1    S-2    S-3 4 S-3  600   500    100    100 5 S-4  300   S-2    S-3    S-4 6 S-5  150   100    500    300 上記のように、Aに品番があり、Bにその品番の数量があります。C2~E2までに使用数量を入力した場合、指定したセル、 この場合C、D、E3~C,D、E6までに使用量の内訳(A、B列の表を基に)が表示されるようにしたいのですが、どの様な方法があるでしょうか?上記は品番、数量の使用順番は上のセルからですが、場合によっては下のセルからの場合もあります。 ※こんな感じでの質問は初めてですので上手く行きません。見辛くて済みません。

  • エクセルについて

    下をエクセルの表だとします。 A     B      C       D       E 1 品番    数量   使用量    使用量    使用量 2 S-1  500   600    600    400 3 S-2  200   S-1    S-2    S-3 4 S-3  600   500    100    100 5 S-4  300   S-2    S-3    S-4 6 S-5  150   100    500    300 上記のように、Aに品番があり、Bにその品番の数量があります。C2~E2までに使用数量を入力した場合、指定したセル、 この場合C、D、E3~C,D、E6までに使用量の内訳(A、B列の表を基に)が表示されるようにしたいのですが、どの様な方法があるでしょうか?上記は品番、数量の使用順番は上のセルからですが、場合によっては下のセルからの場合もあります。 ※こんな感じでの質問は初めてですので上手く行きません。見辛くて済みません。

  • エクセル2010 検索と抽出

    エクセル2010を 使っています。 以前教えていただいた、数式を改変して応用したいのですが、うまくいきません。 やりたいのは画像の処理で、 B83の値を E列から探しその関連セルであるF列、G列の値を、C列D列に抜き出すという作業です。 改変した数式は以下の様なもので、C83に入力後、オートフィルで使おうと思っていました。 詳しい方、教えていただけませんか? =IFERROR(INDEX(F83:F162,SMALL(IF(E83:E162=B83,ROW(E83:E162)),ROW(A1))),"") (配列数式) 3キー打鍵 よろしくお願い致します。

  • Excelでの集計その2

    以前、似た質問をしたものです。下記のケース を、Excel(Excel2000)で作れるでしょうか 次のようなデータが10000件ほどあります。 ------------- (A)--------------------------- 行 商品コード 品名 品番  数量   金額 1 10010005   A商品 A-005  5   1000 2 10010006   B商品 B-006  5   1050 3 10010006  B商品 B-006  6   1100 4 10010007   C商品 C-007  10   100 5 10010008   D商品 D-008   6   60 6 10010009   E商品 E-009   3   300 7 10010010   F商品 F-010  7   700 8 10010010   F商品 F-010   3   300 ------------- (B)--------------------------- 行 商品コード 品名 品番  数量   金額 1 10010005   A商品 A-005  5   1000 2 10010006   B商品 B-006  11   2150 3 10010007   C商品 C-007  10   100 4 10010008   D商品 D-008   6   60 5 10010009   E商品 E-009   3   300 6 10010010   F商品 F-010  10   1000 ------------------------------------------------- (A)のような商品コードが一部同じデータを商品コードをキーにして、数量、金額を集計して(B)のようにしたいのですが、Excelでどのようにしたら出来るでしょうか? よろしくお願いします。

  • Excel 指定した値を反映するようにしたいのですが。

    A列に 文字列 B列に 数値 C列に 数値 D列に 指定した文字 E列に 文字に当てはまる数字を反映 F列に 文字に当てはまる数字を反映 A列      B列      C列 1 川越    21.2     800 2 鶴ヶ島   29.6     1050 3 東松山   39.4     1400 4 嵐山小山  47.4     1600 5 花園    56.1     1800 例えばですが、上記の様になってまして、 D列に、川越と入力すると E列に「21.2」F列に「800」 といった数字を自動的に入力するようにしたいです。 花園と入力した場合は、「56.1」「1800」といった具合です。 このような事がエクセルでできるのでしょうか^^; また私のエクセルのレベルは、関数をちょこっと触れる程度です。 恐れ入りますがよろしくお願いします。

  • エクセルの順位抽出について

    Sheet1のA列にコード、B列に商品名、C列に分類 D列に売上数、 E列に売上金額を入力した一覧表があります。 A_1:1000 B_1:牛肉 C_1:食品 D_1:20 E_1:3000 A_2:1050 B_2:お茶 C_2:飲料 D_2:18 E_2:3010 A_3:2000 B_3:鉛筆 C_3:文具 D_3:12 E_3: 900 A_4:2050 B_4:お米 C_4:食品 D_4:12 E_4:9010 A_5:3000 B_5:牛乳 C_5:飲料 D_5:25 E_5:2000 A_6:3050 B_6:定規 C_6:文具 D_6:28 E_6: 700 中略 A_300:10000 B_300:肉まん C_300:食品 D_300:38 E_300:9000 1.食品対象で売上金額の上位20のコードをSheet2のA列に表示 2.全商品対象で売上金額の上位20のコードをSheet3のA列に表示 上記の様な抽出をしたいのですがどの様な関数を使用すれば良いでしょうか? (オートフィルタを使用してのコピペという手作業をなくすためにSheet1の内容が更新されれば自動でSheet2,3の内容も更新されている のが希望です) よろしくお願いします。