会社を卒業したのんちおじさん。

人生は知恵と工夫と思いやり!
優しさほど強いものはなく、本当の強さほど優しいものはない -ラルフ・W・ソックマン-

COUNTIFでできた2

2009-01-31 09:20:52 | Excelのお話
=and(countif(特価一覧表,商品A),countif(特価一覧表,特価番号))

上記のようにやると条件1と条件2は全く別個に結果を拾ってしまい本来特価がないものまで拾ってしまうことに気づき、マクロしかないかと取りあえず作って走らせてみたがやたら時間がかかり実用的ではありません。


前の記事に

> 「商品A」+「ZZZ123」という組み合わせが特価一覧データにあれば

と書きました。

要するにそのまんまをやればいいのです。

特価番号、型番、仕切、特別価格

上記項目に手を加えて

特価番号、バラ型番、型番、仕切、特別価格、バラ型番結合、型番結合

とし、売り上げデータの右端列にマクロで下記のように式を入力。

Sub 特価があるか()
Max_GYO = Cells(1).CurrentRegion.Rows.Count
Set flg = Range(Cells(1, 16), Cells(Max_GYO, 16))
With flg
  .Value = "=COUNTIF(特別価格!F:G,B1&J1)"
  .Copy
  .PasteSpecial Paste:=xlValues
End With
Application.CutCopyMode = False
End Sub

これで該当データには「1」または「2」が表示されます、なぜ「2」があるかというと売り上げデータの中にはパック商品をパック商品のまま売る場合とバラで売る場合があるのでそうなるのです。

これを

Sub 有効データを残す()
Max_GYO = Cells(1).CurrentRegion.Rows.Count
  For i = Max_GYO To 1 Step -1
    If Cells(i, 16) <1 Then
      Rows(i).EntireRow.Delete
    End If
  Next i
  Columns(16).EntireColumn.Delete
  Cells(1).Activate
End Sub

にて必要なデータを抽出します。

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。