2017-02-21 6 views
0

E2の日付が誰かが年中休暇として服用した日付の場合、セルE3に 'AL'というテキストを入力する必要があります。Excel - 配列リスト内の日付を見つける

セルA3:B11には、誰かが年次休暇として取得した開始日と終了日が記載されています。下記参照。

enter image description here

日の間(を含む)である場合、私はチェックの方法を必要とする細胞A3でのそれぞれについて、これら二つの日付の配列:B11。

注:セルA5は、1年の休暇とみなされ、開始日のみが必要です。

編集:私は最初の行のために、次のアルゴリズムを使用することができます(A3:B3)

=IF(SUMPRODUCT((ROW(INDIRECT(A3&":"&B3))=E3)*1)=1,"AL","") 

Iは、細胞に、しかし、あなたの例のシートを使用して、すべての可能な行

+1

[COUNTIFS機能]を参照してください(https://support.office.com/en-us/article/COUNTIFS-function-dda3dc6e-f74e-4aee-88bc-aa8c2a866842) – tigeravatar

答えて

1

を申請するにはまだ立ち往生していますE3は、式を使用

= IF(AND($のE $ 2> = A3、$ E $ 2 < = B3)、 "AL"、 " - ")

その後、できるだけ多くの行を、このダウン適用することができますあなたが必要です。それを右側にドラッグして列全体にドラッグする必要がある場合は、セル参照を切り替える(F2、G2、H2などのセルの異なる日付をヒットするようにします(= IF(AND F) A3、$ F $ 2 < = B3)、 "AL"、 " - ")

唯一の問題は、その2017年7月7日を超える列Bに

PSあなたが実際に公式Excelの配列数式の意味での「アレイ」を意味している場合、そのソリューションは異なっている。

+0

ありがとうございました。私はものを過度に複製していたと思う。私は他の人が同様の質問に対する答えを求めている場合に私が思いついた解決策を投稿しました。私はすべての行を検索することをカバーするように私の答えを最良の選択肢としてマークしますが、確かに私はそこに着くよう促しました。 – WillacyMe

0

私はと解決策を見つけたと信じてホージャンソンの助けを借りて。

=IF(SUMPRODUCT(((A3:A11<=E3)*1),((B3:B11>=E3)*1))=1,"AL","") 

これは、開始日と終了日の両方が1日だけ満たされていることを保証するため、セルB5がこれを機能させるために07/07/2018に等しい必要があります。

EDIT:開始列の日付だけを追加できる方法が見つかりました。

=IF(SUMPRODUCT((A3:A11<=E3*B3:B11>=E3)+(A3:A11=E3*B3:B11=""))=1,"AL","") 

これは、列Aの日付がE3の値より小さく、列Cの日付が真または偽の評価より大きい場合です。次に、+は 'OR'を意味し、列Aの日付はE3に等しく、列Cの対応する行は空です。これは誰もが似たような答えを探しているのを助けてほしい

関連する問題