別の列の要件を満たしながら、列に一意の値がいくつあるかを数える

別の列の要件を満たしながら、列に一意の値がいくつあるかを数える

こんにちは。次の形式のテーブルにデータがあります:

Order#           Origin        Status          Date
90028             BG00           30          1/2/2018
90021             BG01           50          2/2/2018
90021             BG01           40          3/2/2018
90028             BG01           20          2/2/2018

そして、ユニークな注文番号あります(重複なしでカウントします) 存在しながら;

起源BG00から状態30または40は日付今日の

できるだけ早く助けていただければ幸いです。

答え1

ここに画像の説明を入力してください

この配列数式を次のように記述しますF76、終了Ctrl+Shift+Enter

{=SUM(IF(("BG00"=$B$76:$B$79)*($C$76:$C$79>=30)*($C$76:$C$79<=40)*(E74=$D$76:$D$79), 1/COUNTIFS($B$76:$B79, "BG00", $A$76:$A$79, $A$76:$A$79, $C$76:$C$79, ">="&30, $C$76:$C$79, "<="&40,$D$76:$D$79,E74)),0)}

編集済み:

使い方:

数式の最初の部分は、行1の注文IDが3つの条件すべてに一致するため、90028から返されます。A76:A79

{=SUM(IF(("BG00"=$B$76:$B$79)*($C$76:$C$79>=30)*($C$76:$C$79<=40)*(E74=$D$76:$D$79),A76:A79,0))}

注意上記の式では、意図的にA76:A79範囲から値を取得するために追加しました。そうでない場合は、2番目の部分で次Countifsのように入力します。真実IF の条件を満たし、1 (1 つの一致のみ) を返します。

{=COUNTIFS($B$76:$B79, "BG00", $A$76:$A$79, $A$76:$A$79, $C$76:$C$79, ">="&30, $C$76:$C$79, "<="&40,$D$76:$D$79,E74)),0)}

90028の注文 ID がrow 43 つの条件すべてに一致する場合はOrgin, Status & DateCountifsが返されます2

SUM&1/Countifsは「放棄された予防措置」として式に追加されていますが、それ以外の場合は、この式はそれらなしでも機能します。

{=IF(("BG00"=$B$76:$B$79)*($C$76:$C$79>=30)*($C$76:$C$79<=40)*(E74=$D$76:$D$79), COUNTIFS($B$76:$B79, "BG00", $A$76:$A$79, $A$76:$A$79, $C$76:$C$79, ">="&30, $C$76:$C$79, "<="&40,$D$76:$D$79,E74),0)}

SUMA76:A79範囲内の値を基準に追加する必要がある場合に非常に便利です。

注記、

  • 必要に応じて数式内のセル参照を調整します。
  • もしあなたが今日の日付E74次に記入してください日付列 一致する類似の日付値がほとんどありません。

関連情報