1

日付を含むセルが特定のセル (A2) に最も近い (日付のある他の 3 つのセル B2:D2) 列のヘッダーを表示しようとしています。

だからここに私のシートがあります:

       A           B          C          D
1 |    T1    |     T2    |    T3    |    T4    |
2 | 5/1/2013 | 5/31/2013 | 2/5/2013 | 3/2/2013 |

A2 = a date.
B2:D2 = 3 dates, can also be blank

オンラインで見つけた次の配列数式を使用してみました。

=IF(COUNT($B2:$D2)>0,INDEX($B$1:$D$1,MATCH(MIN(ABS($B2:$D2-$A2)),ABS($B2:$D2-$A2),0)),"")

しかし、1 つまたは 2 つの日付しかない場合、間違ったヘッダーが表示されることがあります。配列数式の使用も避けたいのですが、通常の数式に変換できませんでした。

この件に関するご支援をいただければ幸いです

4

3 に答える 3

1

配列以外の代替手段については、次を試すことができます。

=LOOKUP(2,1/FREQUENCY(0,ABS(B2:D2-A2)),B$1:D$1)

INDEX(...)式の部分の代わりに。

于 2013-06-09T15:34:47.680 に答える
1

わかりましたので、答えはかなり簡単でした。

シートに戻って、これが発生するシナリオを調査しました。A2が空白の場合(= 比較を行う日付がない場合)、 B2:D2から入手可能な唯一の日付が表示されるようです。

A2に値がある場合にのみ機能するIFステートメントに別の条件を追加するだけで、問題が解決しました。したがって、A2 と B2:D2 の両方に値があるかどうかを確認しています (B2:D2 は少なくとも 1 つ必要です:

=IF(AND(COUNT($B2:$D2)>0,$A2>0),......)

ここに完全な式があります

=IF(AND(COUNT($B2:$D2)>0,$A2>0),INDEX($B$1:$D$1,MATCH(MIN(ABS($B2:$D2-$A2)),ABS($B2:$D2-$A2),0)),"")

調査に戻らせてくれてありがとう!:D

于 2013-06-09T04:58:01.910 に答える