2017-03-13 4 views
0

다음과 같이 데이터 옆에 데이터와 함께 영숫자 문자가 혼합 된 테스트의 데이터 셀 B1 : C5 집합이 있습니다. A2 : C5의 데이터를 통해 구문 분석하고 CountIfS 함수를 사용하여 표본 및 값 1과 일치하는 셀의 수를 계산하는 셀 B8 : C10의 수식을 작성하려고합니다. 일부 데이터 그의 시험 이름에는 여러 표본의 평균이 포함됩니다. 나는 그 시험에서 각 표본을 세길 바란다. (읽기 쉽 $ 무시)셀에 검색 조건이있는 Countif가있는 와일드 카드 사용

=COUNTIFS(A1:A5, "*" & A8 & "*", B1:B5, B7) 

내가으로 실행하고 문제는에서 발생

Input 
+----+------------+---------+---------+ 
| |  A  | B | C | 
+----+------------+---------+---------+ 
| 1 | Test  | Value 1 | Value 2 | 
| 2 | 1   | TRUE | ...  | 
| 3 | 14A  | FALSE | ...  | 
| 4 | 1, 14A Avg | FALSE | ...  | 
| 5 | 1, 53 Avg | TRUE | ...  | 
+----+------------+---------+---------+ 

Current Output 
+----+------------+---------+---------+ 
| |  A  | B | C | 
+----+------------+---------+---------+ 
| 7 | Specimen | TRUE | FALSE | 
| 8 | 1   | 1  | 2  | 
| 9 | 14A  | 0  | 2  | 
| 10 | 53   | 1  | 0  | 
+----+------------+---------+---------+ 

Desired Output 
+----+------------+---------+---------+ 
| |  A  | B | C | 
+----+------------+---------+---------+ 
| 7 | Specimen | TRUE | FALSE | 
| 8 | 1   | 2  | 1  | 
| 9 | 14A  | 0  | 2  | 
| 10 | 53   | 1  | 0  | 
+----+------------+---------+---------+ 

I 셀 B8에 다음 수식을 사용하고 있습니다 : 여기에 엑셀 시트의 시각화입니다 수식이 표본 1을 평가하는 방법; 2 행에서 1 번 테스트를 계산하지 않고 3 번 테스트에서 14A를 계산 중입니다. 평균 테스트에서 각 표본 끝에 쉼표를 넣고 다음 공식을 사용하여 솔루션을 찾았습니다.

=COUNTIFS(A2:A5, A8, B2:B5, B7) + COUNTIFS(A2:A5, "*" & A8 & ",*", B2:B5, B7) 

이 방법을 사용할 때의 문제점은 평균 테스트 (피하고자하는 솔루션)의 이름을 변경해야하고 평가할 다른 모든 값과 함께 수식이 매우 길어질 것입니다 다루기 힘든. 위의 두 CountIfS를 테스트 또는 표본의 이름을 조작하지 않고 하나로 결합하는 더 간단한 방법이 있는지 궁금합니다.

하여 데이터 파싱 SUMPRODUCT() 및 다른 수식을 사용할 필요

답변

0

: 공간에 , 변경 전면 및 문자열 뒤에 공간을 추가

=SUMPRODUCT((ISNUMBER(SEARCH(" " & $A8 & " "," " & SUBSTITUTE($A$2:$A$5,","," ") & " ")))*($B$2:$B$5=B$7)) 

을 우리 브래킷 또한 수 공백으로 검색 값을 지정하여 전체 항목을 찾고 부분이 아닌 항목을 찾으십시오.

그런 다음 SUMPRODUCT는 각 문자열에서 전체 값이 발견되고 값 1이 헤더와 같을 때마다 계산됩니다.

enter image description here