여러 텍스트 기준을 사용하여 두 날짜 간의 합계

여러 텍스트 기준을 사용하여 두 날짜 간의 합계

Aman, Dell 및 U3:U8Ivan ( S3:S8범위 T3:T8.

여러 텍스트 기준을 사용하여 두 날짜 간의 합계

답변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
)

여기에 이미지 설명을 입력하세요

두 번째 공식에서:

numWords"단어 포함" 셀에 있는 단어 수입니다.
seqnumWords와 동일한 숫자 배열을 반환합니다(예: {1,2,3})
MMULT. 유효한 검색 배열을 값의 단일 열로 변환하는 데 사용됩니다(예: BYROW첫 번째 공식의 와 유사).

쉼표로 텍스트 문자열을 분할하려면:( TEXTSPLIT함수 대체

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

관련 정보