MATCH() 関数を使用するスプレッドシートの数式に問題があります。
=IFERROR(IF(LENB(Y2461)<> 0, "Complete", IF(LENB(Q2461)<> 0, IF(Q2461-$Y$1<MATCH($Y$1,R2461:X2461),"ON HOLD"), INDEX($R$4:$X$5,1,MATCH($Y$1,R2461:X2461)))),"ON HOLD")
これは、特定の問題を含むセル内の数式です。「完了」列に日付があり、「保留中」列に日付がある場合を除いて、一致を使用してデータの水平方向の範囲を調べ、最新の変更が含まれている列を特定しています。セル Y1 には が含まれ=TODAY()
ているため、各セルを今日の日付と照合します。セルは日付にフォーマットされ、左から右に日付として入力されます。ただし、エントリは以前の列から再び開始され、日付が順不同のままになる可能性があります。
問題は、一度に数回しか発生しMATCH()
ない場合に、最新ではない列が返されることです。私が信じるようになった限り、そしてこの数式の他のインスタンスでどのように機能するかは、配列を右から左に読み取り、最初の「最高」の日付で停止することです。
エラーは具体的には 1 つの行で発生していますが、期待される結果はシートの他の場所で複数回機能します。
MATCH()
毎回特定の方向に読むと仮定して、間違った使い方をしていますか? コードに別のエラーがありますか? または、プログラムした結果を得る別の方法はありますか?