0

4列のスプレッドシートがあり、列BとDには、過去30日間に取得されたさまざまな道路を使用している車の数が含まれています。マクロがこれらの範囲のデータを処理し、外れ値の値を「不良」に変更したため、次の相関式はそれらを無視します。

{=IFERROR(CORREL(IF(B4:B33<>"Bad";IF(D4:D33<>"Bad";B4:B33));IF(B4:B33<>"Bad";IF(D4:D33<>"Bad";D4:D33)));"0")}

列AとCには、カウントが行われた日付が含まれています。残念ながら、これらの日付が同じでない場合があります。一部の地域ではクリスマス、他の地域ではボクシングデーなどでデータが利用できません。これにより、日付が同期しなくなり、相関関係が崩れるため、明らかに相関関係が失われます。

相関する前に日付が同じであるかどうかを確認するために数式を適応させる方法はありますか?ほぼ同じようにvlookup、日付を見つけ、一致する場合は計算に追加し、一致しない場合は次の日付に移動します。競合が非常に多い場合にのみ、30日間のうち26日間を相関させることができてうれしいです。

たとえば、12月28日に実行された過去6日間について、28日までの6暦日を調べます。

        A         B        C         D
    22/12/2012    9    22/12/2012   Bad
    23/12/2012   10    23/12/2012   22
    24/12/2012    3    24/12/2012   21
    25/12/2012    7    26/12/2012   18
    26/12/2012    8    27/12/2012   15
    27/12/2012   15

列CとDの最後のセルは空白です。

数式は、23日、24日、26日、27日の4日間のみを相関させ、適切なカウントと一致させたいと思います。

この情報を、レポートの日付がそれぞれ異なるいくつかの場所と相関させることを考えると、一致しない日付を相関させて削除する前に日付をフィルタリングすることは適切なオプションではありませんが、他に方法がない場合は検討します。

4

1 に答える 1

2

単一セルの配列数式だけを使用してこれを行うことはできないと思います。

ただし、ヘルパーカラムを使用すると、それを実行できます。配列-次の式を範囲に入力しますE4:E33

{=(IF(COUNTIF(C4:C33;A4:A33);INDEX(D4:D33;MATCH(A4:A33;C4:C33;0));""))}

これにより、次のようになります。

        A         B        C         D    E
    22/12/2012    9    22/12/2012   Bad  Bad
    23/12/2012   10    23/12/2012   22   22
    24/12/2012    3    24/12/2012   21   21
    25/12/2012    7    26/12/2012   18
    26/12/2012    8    27/12/2012   15   18
    27/12/2012   15                      15

これで、非配列式を使用して相関を計算できます。

=IFERROR(CORREL(B4:B13;E4:E13);0)

注:いずれかまたは両方が 数値ではない、つまりテキスト、論理、または空(ただし0ではない)CORRELの値のペアは無視されます。したがって、「不良」または欠落している値を明示的にチェックして除外する必要はありません。

于 2013-01-09T17:26:08.493 に答える