こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

お世話になります。

エクセルで関数によって色づけをしたいのですが
やり方がわからないのでどなたか教えて頂けないでしょうか。

-----------------
以下のような列があります。

A列B列C列D列
IDサイズ在庫数判定結果

IDは商品番号を示していて、データは以下のようになります。

A列B列C列D列
IDサイズ在庫数判定結果
A70cm5
A80cm4
A90cm2
B110cm4
B120cm4
C90cm3
C100cm3
C110cm3
C120cm3
C130cm3

上記が示しているのは
・Aという商品はサイズが3サイズあり、在庫数はそれぞれ5,4,2着ずつ。
・Bという商品はサイズが2サイズあり、在庫数はそれぞれ4,4着ずつ。
・Cという商品はサイズが5サイズあり、在庫数はそれぞれ3,3,3,3,3着ずつ。

今回抽出したいのはBやCのように、各サイズの数が同一のものです。
つまり、「各サイズの在庫が同一ということは多分1着も売れてない」という
性質の商品を抽出したいわけです。
(※各サイズが等しく売れているものも抽出されますがそこは目視で判断します)

商品によって、サイズ分布が違うので行数が変わってきますし、
仕入れ数も違うため、「この数字と等しいということは売れていない」という
判断も出来ません。

この状況で関数を使ってD列にB商品やC商品のような性質の商品に
色付けをしたいと考えているのですが、適切な関数はありますでしょうか?

ご回答、どうぞ宜しくお願いいたします。

投稿日時 - 2013-01-16 14:01:10

QNo.7894650

すぐに回答ほしいです

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

A1セルからD1セルには項目名が有り、A列からC列の2行目から下方にはデータが入力されているとします。
D2セルには次の式を入力して下方にドラッグコピーします。

=IF(COUNTIF(A$2:A2,A2)=1,IF(AVEDEV(C2:INDIRECT("C"&ROW(A1)+COUNTIF(A:A,A2)-1))=0,"売れてない",""),"")

これでIDが変わる最初の行にもしも売れていないものが有れば 売れてない の文字が表示されます。
その文字のセルと文字に色を付けるのでしたら「ホーム」タブの「条件付き書式」から「セルの強調表示ルール」で「指定の値に等しい」を選択し、表示の窓に 売れてない と入力してOKします。

投稿日時 - 2013-01-16 15:32:32

補足

ありがとうございます。

しっかりと関数の構文の意味を読み切れていないですが、
「売れていなそうなサイズ」があれば
そのアイテムに「売れてない」という色づけをする
という効果という理解であっていますでしょうか?

そうであれば、「売れていなそうなサイズを持つ商品」
ではなくて、「どのサイズも売れていなそうな商品」が
抽出したいものです。
在庫が3,3,0とあった場合、
最初の2サイズは売れていないが最後のサイズは売り切れている
ということになります。
こういう商品は、「どのサイズも売れていなそうな商品」
ではないので、対象外にしたいです。

これを踏まえて関数の構文を変更して頂けますでしょうか。

投稿日時 - 2013-01-16 19:39:46

お礼

ありがとうございました。
全ての行で在庫が0の場合は「売り切れている」という表示も行うように
して頂きたいのですが、もう質問を変更できないようなので
改めて投稿しようと思います。

今回のご回答も充分勉強になりました。
もしよろしければ新たな投稿にご回答頂ければ大変有り難いです。
現状求める関数を手に入れ切れていない状況ですので。

投稿日時 - 2013-01-17 10:45:16

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

ちょっと思ったので回答させて頂きます。
前回の状態のシートを作る。(比較対象)
今回の状態のシートを作る。

前回の状態から変化の有無で売れている売れていないにした方がよろしいのではないでしょうか?

全てのサイズで同一の数が売れた場合、売れていないとなるのでどうなんだろうかと思いました。
計算式はいまいち分からないので掲載できません。
おせっかいなコメントをして申し訳ありませんでした。

投稿日時 - 2013-01-17 08:31:27

補足

ありがとうございます。
「前回の状態のシート」を作れない状況下のため
関数で解決しようと思っての質問なのです。

投稿日時 - 2013-01-17 10:28:08

お礼

ありがとうございました。

投稿日時 - 2013-12-04 19:07:50

ANo.1

D2セルに
=IF(A1=A2,"",COUNTIF(A:A,A2)=SUMPRODUCT((A:A=A2)*(C:C=C2)))

下方向ドラッグコピー

D2セルに条件付き書式(下記2つを設定)
=D2
塗りつぶし:適当な色
フォント色:塗りつぶし色と同じ色

=D2=FALSE()
塗りつぶし:なし
フォント色:白

下方向ドラッグコピー

各サイズの最初のデータにのみ色付け
全サイズに色付けしたい場合は
D2セル式は
=COUNTIF(A:A,A2)=SUMPRODUCT((A:A=A2)*(C:C=C2))

投稿日時 - 2013-01-16 14:54:48

補足

非常に早いご回答ありがとうございます。

現在試し中です。

TRUE/FALSEで結果を出し、
その結果に対して色づけで視覚的に判断しやすくする
ということですね。

投稿日時 - 2013-01-16 19:42:11

お礼

ありがとうございました。
全ての行で在庫が0の場合は「売り切れている」という表示も行うように
して頂きたいのですが、もう質問を変更できないようなので
改めて投稿しようと思います。

今回のご回答も充分勉強になりました。
もしよろしければ新たな投稿にご回答頂ければ大変有り難いです。
現状求める関数を手に入れ切れていない状況ですので。

投稿日時 - 2013-01-17 10:45:25

あなたにオススメの質問