Excel で各日付の最初と最後の適格レコードを決定する

Excel で各日付の最初と最後の適格レコードを決定する

条件を満たす各固有の日 (列 A) の最初と最後 (列 B) を見つける必要があります。

列 CI には「first」または「last」と記入する必要があります。

A     B    C
date  use  result
-----------------
1-1   yes  last
2-1   no
2-1   yes  first
2-1   no
2-1   yes
2-1   yes  last
2-1   no  
3-1   no
3-1   yes  first

日付はソートされます。 1 つの日付レコードのみが適格な場合 (この例では 1-1 または 3-1 など)、採用したアプローチにとって最も簡単な方で、ラベルを「最初」または「最後」のいずれかに付けることができます。その状況ではラベルの選択は重要ではありません (ただし、3-1 の場合のように、適格なレコードにはラベルが必要です)。

アプローチの提案はありますか?

答え1

計算式は次のとおりです。
=IF(B2="yes",IF(COUNTIFS($A$1:A1,A2,$B$1:B1,"yes")=0,"first",IF(COUNTIFS(A3:$A$10000,A2,B3:$B$10000,"yes")=0,"last","")),"")

複雑に思えますが、説明されている通りの動作を非常に簡単に行います。

  • 行のB列に「はい」が含まれている場合、
    • 実際の行が同じ日の最初の行であるかどうかを「はい」でチェックします
      • はいの場合は「最初」を返します(その日に対象となる行が 1 つしかない場合は、それが 1 行目になります)
      • そうでない場合は、実際の行が同じ日の最後の行であるかどうかを「はい」で確認します。
        • はいの場合は「最後」を返します
        • いいえの場合は、セルを空白のままにします
    • そうでない場合(列 B が「いいえ」の場合)、セルは空白のままになります。

この数式は現在 10,000 行までしか機能しません。それ以上の行がある場合は、数式内の数値を増やすだけです。

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

関連情報