ひとつも売れてない商品を抽出する関数!

このQ&Aのポイント
  • エクセルで関数によって色づけをしたいのですがやり方がわからないので教えていただきたいです。
  • 商品の在庫状況に基づいて、売れていない商品を抽出するための関数を作成したいです。
  • 各商品のサイズごとの在庫数を判定し、売れていない商品を特定するための関数を求めています。
回答を見る
  • ベストアンサー

ひとつも売れてない商品を抽出する関数!(改)

お世話になります。 エクセルで関数によって色づけをしたいのですが やり方がわからないのでどなたか教えて頂けないでしょうか。 ----------------- 以下のような列があります。 A列 B列  C列   D列 ID サイズ 在庫数 判定結果 IDは商品番号を示していて、データは以下のようになります。 A列 B列  C列   D列 ID サイズ 在庫数 判定結果 A  70cm   5 A  80cm   5 A  90cm   0 B  110cm  4 B  120cm  4 C  90cm   3 C  100cm  3 C  110cm  3 C  120cm  3 C  130cm  3 D 50cm 0 D 60cm 0 D 70cm 0 上記が示しているのは ・Aという商品はサイズが3サイズあり、在庫数はそれぞれ5,5,0着ずつ。 ・Bという商品はサイズが2サイズあり、在庫数はそれぞれ4,4着ずつ。 ・Cという商品はサイズが5サイズあり、在庫数はそれぞれ3,3,3,3,3着ずつ。 ・Dという商品はサイズが3サイズあり、在庫数はどれも0着で売切れ。 今回まず抽出したいのはBやCのように、各サイズの数が同一のものです。 つまり、「各サイズの在庫が同一ということは多分1着も売れてない」という 性質の商品を抽出したいわけです。 (※各サイズが等しく売れているものも抽出されますがそこは目視で判断します) 商品によって、サイズ分布が違うので行数が変わってきますし、 仕入れ数も違うため、「この数字と等しいということは売れていない」という 判断も出来ません。 この状況で関数を使ってD列にB商品やC商品のような性質の商品に 色付けをしたいと考えているのですが、適切な関数はありますでしょうか? ※A商品は多分仕入れが5着ずつで90cmのサイズだけ売れています。  残りのサイズは1着も売れていないということになりますが、  希望しているのはどのサイズも1着も売れていないというものなので  A商品は抽出されてほしくありません。  (この場合も各サイズが同じ数売れている時に抽出されるのはOKです。   最後に目視で除外します。) B,C商品には、同じID内の一番上の行のD列に「売れてない」と表示されてほしいです。 最後に、D商品は、逆に全て売り切れているという商品ですので  「完売」という色を付けたいです。 これも同じID内の一番上の行のD列に「完売」と表示されてほしいです。 ご回答、どうぞ宜しくお願いいたします。

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

  • ベストアンサー
回答No.1

D2: =IF(COUNTIF($A:$A,$A2)=COUNTIF($E:$E,$E2),IF($C2=0,"完売!","売れてないかも?"),"") E2: =$A2&$C2 以下、D2,E2まとめてコピー そして、D,E列には、条件書式で判定表示文字に従って色付けする。

ARIES10
質問者

お礼

大変迅速なご回答ありがとうございました。 試してみたところすぐに出来ました。 関数の組み方もシンプルで、勉強になりました。 一点、 >B,C商品には、同じID内の一番上の行のD列に「売れてない」と表示されてほしいです。 という要望を持っていましたが、この表示については(改)がついていない昨日の質問に既に他の方からご回答頂いており、表示の仕方を習得できていたため (http://okwave.jp/qa/q7894650.html) そちらを組み合わせ、 =IF(COUNTIF(B$2:B2,B2)=1,IF(COUNTIF($B:$B,$B2)=COUNTIF($E:$E,$E2),IF($K2=0,"完売!","売れてないかも?"),""),"") をセットしたところ、要望が叶いました。 大変助かりました、どうもありがとうございました。

関連するQ&A

  • ひとつも売れてない商品を抽出する関数!

    お世話になります。 エクセルで関数によって色づけをしたいのですが やり方がわからないのでどなたか教えて頂けないでしょうか。 ----------------- 以下のような列があります。 A列 B列 C列 D列 ID サイズ 在庫数 判定結果 IDは商品番号を示していて、データは以下のようになります。 A列 B列 C列 D列 ID サイズ 在庫数 判定結果 A 70cm 5 A 80cm 4 A 90cm 2 B 110cm 4 B 120cm 4 C 90cm 3 C 100cm 3 C 110cm 3 C 120cm 3 C 130cm 3 上記が示しているのは ・Aという商品はサイズが3サイズあり、在庫数はそれぞれ5,4,2着ずつ。 ・Bという商品はサイズが2サイズあり、在庫数はそれぞれ4,4着ずつ。 ・Cという商品はサイズが5サイズあり、在庫数はそれぞれ3,3,3,3,3着ずつ。 今回抽出したいのはBやCのように、各サイズの数が同一のものです。 つまり、「各サイズの在庫が同一ということは多分1着も売れてない」という 性質の商品を抽出したいわけです。 (※各サイズが等しく売れているものも抽出されますがそこは目視で判断します) 商品によって、サイズ分布が違うので行数が変わってきますし、 仕入れ数も違うため、「この数字と等しいということは売れていない」という 判断も出来ません。 この状況で関数を使ってD列にB商品やC商品のような性質の商品に 色付けをしたいと考えているのですが、適切な関数はありますでしょうか? ご回答、どうぞ宜しくお願いいたします。

  • Excel関数

    Excelで適切な関数を探しています。 在庫の管理で複数ある在庫の指定した商品の過不足がわかるような在庫表を作成しようとしてます。 会社の基幹システムからExcelに落とした在庫表が下記のようにあります。 A列    B列     C列     品番    倉庫名  保有在庫数 111111   東京     10 111111   大阪     20 222222   東京     50 333333   大阪     10 333333   札幌     10 444444   札幌     30 続く・・・ 他に各倉庫各品番の必要在庫の別シートのマスターがあります。 A列    B列   C列 品番   在庫名  必要在庫数 1111111  東京    50 1111111  大阪    10 2222222  東京    100 2222222  大阪    20 最初の在庫表にD列を設け、そこに上記のマスターの必要在庫数を表示させて下記のようにしたいのですが・・・ A列    B列     C列    D列    E 品番    倉庫名  保有在庫数  必要在庫数 過不足数 111111   東京     10      50    -40 111111   大阪     20      10    10 222222   東京     50      100   -50 ・・・・・ がIFやVLOOKUPの関数で組み合わせで適切なものができませんでした。 他の関数で適切なものはありますでしょうか。 

  • 2ファイルを使用し商品単位のサイズ展開を抽出したい

    お世話になります。 2つのcsvファイルがあります。 それらを使ってデータを作りだしたいと思っています。 CSVファイル1 A列/ B列 /C列 空白/商品番号/空白 CSVファイル2 A列/ B列 / C列 / F列 /H列 空白/商品番号/タイプ/サイズ/カラー ファイル1と2はB列の商品番号で紐づいていますが ファイル1が親データであるのに対し、 ファイル2はサイズ展開分行数があります。 やりたいことはファイル1の商品番号単位で、 紐づくファイル2のサイズ展開をファイル1のC列にセットしたいです。 データは以下のようにセットされています。 CSVファイル1 A列/ B列 /C列   /0001/     /0002/     /0003/     /0004/     /0005/   CSVファイル2 A列/ B列 /C列 / F列 /H列   /0001/i  /50cm /     /0001/s  /   /     /0001/s  /   /     /0002/i  /60cm /     /0002/i  /70cm /     /0002/s  /   /     /0002/s  /   /     /0003/i  /80cm /     /0003/i  /90cm /     /0003/i  /100cm /     /0003/s  /   /     /0003/s  /   /     /0004/i  /50cm /     /0004/i  /60cm /     /0004/s  /   /     /0004/s  /   /     /0005/i  /90cm /ブルー   /0005/i  /90cm /レッド   /0005/i  /100cm /ブルー   /0005/i  /100cm /レッド   /0005/s  /   /   /0005/s  /   / このとき、以下のように抽出されてほしいです。 CSVファイル1 A列/ B列 /C列   /0001/△50cm     /0002/△60cm△70cm     /0003/△80cm△90cm△100cm   /0004/△50cm△60cm   /0005/△90cm△100cm ※どの商品番号もタイプがsのものが2行あるのですが、 これはサイズ展開に関係ないので無視したいです。 ※タイプがiのものがサイズ展開を司っているので対象です。 ※0005のように、同じ商品番号にカラーが2種類ある場合は その分行が増えるのでサイズ展開としては90cmと100cmしかないのですが、 それが重複して表現されてしまいます。 カラーが複数種類ある商品データは多いので可能な限り 重複は抽出の時点で除きたいです。 ファイル1の親データの時点で1000商品ほどあるため 手作業で確認していくのは厳しく、 お知恵拝借出来たらと考えております。 どうぞ宜しくお願いいたします。

  • 関数について

    関数について VLOOKUP関数を使ってみようと思っているのですが1列目のデータの抽出に仕方がわかりません。 入力例 sheet1 B列__C列__D列 1_______A____現金 2_______B____現金 3_______C____カード 4_______D____カード 5_______E____現金 抽出例 sheet2 B列__C列__D列 1_______A____現金 2_______B____現金 5_______E____現金 抽出例のC、D列はVLOOKUPを使おうと思っています。 B列の抽出にはどのようにしたらいいかおしえてください。

  • オートフィルターで抽出後の集計 ユーザー定義関数

    以下のようなテーブルがあったとします。(図参照) A列 ID B列 数値A C列 数値B D列 抽出A E列 抽出B フィルターでD列E列で抽出した後に、B列の数値、例えば数値が1~3あるとします。 それぞれ1~3のC列の数値の合計の式をユーザー定義関数で作ることは出来ますでしょうか? コードかけません宜しくお願いします。 式1 フィルター抽出後のB列の1という数字のみのC列の数値の合計 式2 フィルター抽出後のB列の2   同様 式3 フィルター抽出後のB列の3   同様 VBAの知識はあまりありませんが、モジュールの追加とコードを貼り付ける作業は出来ます。 エクセル2013 64bitです。 宜しくお願いします。

  • Excel関数で仕入先ごとに売上金額の一番高い部署を抽出するには・・・

    以下の2つのシートがあったとします。 sheet1のB列にsheet2の仕入先IDに対応しかつ売上金額の一番高い部署IDを抽出するためにはどのような関数を入力すればよいでしょうか? sheet1 A     B 仕入先ID 部署ID 1 2 3 sheet2 A     B    C    D 仕入先ID 部署ID 客先ID 売上金額 1     A    125  146000 1     A    128  288000 1     B    221  288000 2     C    151  88000 2     C    151  88000 2     A    241  666000

  • EXCEL2007 情報抽出 関数

    A~E列それぞれの一つのセルに"1"を入力し、F列にある情報を抽出、 G列のセルに表示させたいです。 行が多いので、IF関数などは使用できませんでした・・・ 何を使用すればよろしいでしょうか・・・? 例) A1~A20 B1~B20 C1~C20 D1~D20 E1~E20 それぞれの列の一つだけに1を入力します。 ・A 5に1を入力 → F5の情報をG1に表示 ・B15に1を入力 → F15の情報をG2に表示 ・C 2に1を入力 → F2の情報をG3に表示 ・D18に1を入力 → F18の情報をG4に表示 ・E9 に1を入力 → F9の情報をG5に表示 行数が多く、複数の関数を試してみても、数の制限にひっかかるのか うまくいかず困っています。どうぞよろしくお願いします。

  • EXELで条件抽出をしたい…

    教えて下さい。EXELで作った下のような表(データ)がありその条件に合う人を抽出したいんですが…       A   B   C   D 1 Aさん 1234  2345  3456  4567 2 Bさん 6788  1234  5556  7778 3 Cさん 7788  7778  5443  7789 A~Dのセルにランダムに並んだ数字を入力している(ここでは、番号(1234)と入力している)人を関数を使い一発表示したいんですが。  A列だけに1234という数字を入力している人を抽出し、条件にあえば「○」という表示をできるようにはIF関数を使いできましたが、 AさんのA列、B列、C列全てを検索範囲に入れた、(たとえば「1234」と入力しているなら「○」等で表示(抽出)したいんですが…それができる関数を教えて下さい。列ごとしかできないのか…??? 分かりにくいですか? (^_^; 宜敷お願いします。

  • エクセルの関数で商品を区別する記号番号をつける方法

    エクセルの関数を使って商品のサイズ、色にそれぞれ区別する記号番号を付けていくのに苦労しています。 この度は私の質問に目を留めて頂きありがとうございます。 作業については下の通りです。 (エクセル画面のスクリーンショットを切り取って画像添付しています。) A列に商品種類名が商品の数ごとにならんでいます。 B列にはサイズ名、D列にカラー名をそれぞれ並べています。 C列にB列のサイズ名を区別するための番号、E列にD列のカラー名を区別する番号を付けていく作業を現在手作業で行っています。 C列のサイズ番号、E列のカラー番号ともに A列の商品種類名によって個別のアルファベットと番号をあてていっています。 商品の管理上全商品のカラーなどに共通の番号を振る事ができず、あくまでA列で同じもの(同タイプの商品)に対して記号番号を割り当てています。 上の作業結果のように単純にその商品のサイズが3種類ならa,b,c、色種類が4種なら1,2,3,4 というふうに付けています。 商品種類が3000以上、商品数は15000種類を超えるため、関数などで置き換えて短時間で行えないかと模索していますがなかなか思うようにいきません。 置き換える手段がございましたらご教授いただけると幸いです。 もちろんサイズ名部分、カラー名部分と分けてでも結構です。よろしくお願い致します。

  • IF関数の論理式が作れない

    ・在庫(シート)   A    B     C 1 品物 在庫数 2 りんご  4 3 みかん  4 4 ぶどう  4 ・出荷(シート)   A     B      C   D 1 品物 在庫数  出荷数 残 2 りんご =在庫!B2    2    =B2-C2 在庫シートのC2にも、「残」数を載せたいのですが、式の作り方が分かりません。 VLOOKUPを使ってみようと思いましたが、なかなか思うようにいきません。 出荷シートのA列の商品が、在庫シートのA列にもあった場合(この場合は「りんご」)は、出荷シートのD列の数値を返す。 無かった場合(この場合は「みかん」「ぶどう」)は、在庫シートのB列の数値を返す。 IFの真偽は作れましたが、最初の論理式作りで手間取っています。 =IF(      ,VLOOKUP(A2,出荷!A:D,1,0),B2)    ↑この部分の論理式が不明です。 尚、在庫シートのB2には既に在庫数が載ってるのに、更に在庫数を載せるのか?と疑問を感じられると思いますが、その疑問は、申し訳有りませんが、指摘しないで下さい。

専門家に質問してみよう