複数のテキスト条件を使用して 2 つの日付を合計する

複数のテキスト条件を使用して 2 つの日付を合計する

「1.4.18」から「31.3.19」までの範囲の Aman、Dell、Ivan (範囲 の列 説明 ) のみのU3:U8日付 (範囲 の列 Date ) からの合計 (範囲 の列 Amount ) を計算します。S3:S8T3:T8

複数のテキスト条件を使用して 2 つの日付を合計する

答え1

Microsoft 365 をお持ちの場合は、次の式が役立ちます。

=SUM(
    FILTER(
        $C$3:$C$8,
        BYROW(
            $B$3:$B$8,
            LAMBDA(arr,
                OR(ISNUMBER(SEARCH(TEXTSPLIT(B12, ","), arr)))
            )
        ) * ($A$3:$A$8 >= $A$12) * ($A$3:$A$8 <= A13)
    )
)

以前のバージョンでもこれは実行できますが、少し複雑です。

まず、2つ作成します名前付き数式:

numWords Refers To: =LEN(Sheet9!$B$12)-LEN(SUBSTITUTE(Sheet9!$B$12,",",""))+1

seq      Refers To: =ROW(INDEX(Sheet9!$A:$A,1):INDEX(Sheet9!$A:$A,numWords))

次の式を使用できます:

=SUM(
    MMULT(
        ISNUMBER(
            SEARCH(
                TRANSPOSE(
                    TRIM(
                        MID(
                            SUBSTITUTE(
                                $B$12,
                                ",",
                                REPT(" ", 99)
                            ),
                            IF(seq = 1, 1, (seq - 1) * 99),
                            99
                        )
                    )
                ),
                $B$3:$B$8
            )
        ) * ($A$3:$A$8 >= $A$12) * ($A$3:$A$8 <= $A$13),
        seq ^ 0
    ) * $C$3:$C$8
)

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

2番目の式では:

numWordsは、「単語を含む」セル内の単語の数です。numWords
seqに等しい数値の配列を返します (例: {1,2,3}) 。有効な検索の配列を単一の値列に変換するために使用されます (例:最初の数式
MMULTの と同様)。BYROW

テキスト文字列をコンマで分割するには:TEXTSPLIT関数を置き換える

TRIM(
                        MID(
                            SUBSTITUTE(
                                $B$12,
                                ",",
                                REPT(" ", 99)
                            ),
                            IF(seq = 1, 1, (seq - 1) * 99),
                            99
                        )

関連情報