• ベストアンサー

エクセル関数:他と異なる値が入っている行の抽出

エクセル関数:他と異なる値が入っている行の抽出 商品の注文データがありまして、 同じ商品でも違う価格が入っている場合の注文があります。 この注文について抽出して、セルにフラグを付けたいのですが・・・ 詳しい方がいましたら計算式を教えて頂けないでしょうか? 添付画像のように、 同じネクタイでも、価格が違う(少数派)の行について、 フラグを立てて抽出したいです。 何卒、よろしくお願いしいます。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.6

例示のレイアウトならD2セルに以下の式を入力して下方向にオートフィルしてください。 =IF(COUNTIFS(B:B,B2,C:C,C2)/COUNTIF(B:B,B2)<0.5,"○","")

masashimo00
質問者

お礼

解決しました。大変助かりました。ありがとうございます!

その他の回答 (5)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.5

>シンプルに、同じ品名で価格が二つ以上ある行にフラグを立てることはできないでしょうか? あなたが提示した表と同じ結果になっているのですが、何処に不満があるのか理解できません。 作業用テーブルを必要としな方法を要求されるのであれば論理の組立に時間が掛かりますので回答を確約できません。 別の結果として品名が同じで価格が複数となっている品名の全ての行にマークを付けることは簡単です。 C2セルに次の数式を入力して下へコピーすると添付画像のようになります。 =IF(COUNTIF(B:B,B2)=COUNTIFS(B:B,B2,C:C,C2),"","✔")

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

こんばんは! 一例です。 ↓の画像のように作業用の列を設けます。 作業列F2セルに =IF(COUNTIF(B:B,B2)<>COUNTIFS(B:B,B2,C:C,C2),COUNTIFS(B:B,B2,C:C,C2),"") という数式を入れフィルハンドルでずぃ~~~!っと下へコピーしておきます。 そしてD2セルに =IF(F2="","",IF(F2<>MAX(IF(B$2:B$1000=B2,F$2:F$1000)),"○","")) これは配列数式になりますので、Ctrl+Shift+Enterで確定! この画面からコピー&ペーストする場合は 上記数式をドラッグ&コピー → D2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Ctrl+Shiftキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 最後にD2セルのフィルハンドルで下へコピー! これで画像のような感じになります。 ※ 同じ品名で価格が異なるものが同数の場合は何も表示されません。m(_ _)m

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.3

作業用のテーブルが必要になります。 提示の模擬データの範囲で検証した結果は添付画像の通りです。 作業用テーブルのG2へ次の数式を入力して右と下へコピーします。 =COUNTIFS($B:$B,$F2,$C:$C,G$1) チェック用としてD2に次の数式を入力して下へコピーします。 =IF(C2<>VLOOKUP($B2,$F$2:$M$5,8),"○","") Excel 2013で検証しましたがExcel 2007以降で再現できるはずです。 Excel 2003以前のバージョンではCOUNTIFS関数がありませんので代替の数式を組まなければなりません。 必要であれば補足で追加説明を要求してください。

masashimo00
質問者

お礼

ありがとうございます!

masashimo00
質問者

補足

すいません; 説明不足でした。 言い方を変えると、複数の価格が入っている品名を抽出するしたいと考えています。 つまり、この例で言うと「シャツ」や「ズボン」は価格がすべて同じなのでOKなのですが。 「スカート」や「ネクタイ」のように違う価格が入っている品名(その行)を抽出したいと考えています。 シンプルに、同じ品名で価格が二つ以上ある行にフラグを立てることはできないでしょうか?

  • shintaro-2
  • ベストアンサー率36% (2266/6245)
回答No.2

フラグを立てるのが目的であれば仕方ありませんが、 値段でソート後、商品でソートすればOKです。

回答No.1

>同じネクタイでも、価格が違う(少数派)の行について、フラグを立てて抽出したいです。 「少数派の価格の注文ばかりで、通常価格での注文が少ない」って場合「どっちが少数派なのか判断が不可能になる」ので、別途「商品ごとの通常価格が書かれた表」が必要です。 例えば 10041 ネクタイ ¥3,500 10042 ネクタイ ¥3,500 10043 ネクタイ ¥3,500 10044 ネクタイ ¥3,000 10045 ネクタイ ¥3,500 10046 ネクタイ ¥3,500 10047 ネクタイ ¥3,500 になってたら「少数派かどうか?」では判断できません。 なので、どこか「別の場所」に「ネクタイは¥3,000」と言う表が必要です。 その表を参照して「ネクタイ」の「通常価格」を探し当てて、注文書の価格と同じか調べる必要があります。 「表から特定の値を探し出すワークシート関数」に「VLOOKUP」と言う関数があるので「価格表」を作成して、その価格表から「通常価格」を引っ張るようにして下さい。

masashimo00
質問者

補足

すいません; 説明不足でした。 言い方を変えると、複数の価格が入っている品名を抽出するしたいと考えています。 つまり、この例で言うと「シャツ」や「ズボン」は価格がすべて同じなのでOKなのですが。 「スカート」や「ネクタイ」のように違う価格が入っている品名(その行)を抽出したいと考えています。 シンプルに、同じ品名で価格が二つ以上ある行にフラグを立てることはできないでしょうか?

関連するQ&A