기준이 행별로 적용되고 특정 값이나 셀에 연결되지 않는 다음 데이터에 대해 COUNTIF를 수행하려고 합니다.
예를 들어, 다음 예에서는 B열이 A열의 두 배인 행의 개수를 계산하려고 합니다.
ㅏ | 비 |
---|---|
1 | 5 |
2 | 6 |
5 | 삼 |
올바른 구문은 "=COUNTIF(B:B, "="&A:A *2)이므로 각 행의 B 열이 A 열의 두 배인지 확인하지만 항상 0을 얻습니다. 올바른 결과는 다음과 같습니다. 2.
개별 # 또는 단일 셀 참조(예: "="&A2)만 허용되는 것처럼 보이지만 확인할 조건이 각 행에 특정하도록 하고 싶습니다.
이 작업을 수행하지 못하게 하는 다른 함수나 구문 오류가 있습니까? 감사합니다
답변1
답변2
예제 데이터에는 B 열이 A 값의 두 배인 (행) 인스턴스가 없습니다.
=SUM(IF(B1:B3 =A1:A3*2,1,0))
3D/배열 공식을 사용하면 됩니다.
LibreOffice에서는 배열 수식을 CTRL+ SHIFT+ 로 입력해야 합니다 . ENTERExcel에서도 동일한지 확실하지 않습니다.(시도할 방법도 없습니다).
답변3
원래 공식의 유일한 문제점은 어떻게든 합산해야 한다는 것입니다. 한 가지 방법은 어떻게 cybernetic.nomad
했는지입니다. 또 다른 방법은 포스터의 공식을 함수로 묶는 것입니다 SUM()
.
B 열 값이 조건을 충족하는지 여부에 대해 1과 0 목록을 얻는 다른 방법이 있습니다. Hannu
나는 기능 계열에 대해 많은 용도를 찾지 못했기 때문에 솔직히 내 "goto"였을 하나를 보여줍니다 COUNT
. (지난 8년 동안 Excel 도움말 사이트를 살펴보니 "허가 외" 용도가 많았을 뿐만 아니라 항상 사용했던 결과를 얻는 더 직접적인 방법이라는 것을 알게 되었기 때문에 저의 한계를 알고 있습니다 IF()
.)
그러나 이를 수행하는 다른 방법도 있습니다. 그 중 하나는 IF()
작업에 사용되지 않는 각 값에 대한 간단한 TRUE/FALSE 테스트이므로 대규모 데이터 세트에 대해 더 빠를 수 있습니다.
=SUM( (B1:B4 = A1:A4*2) *1)
이는 TRUE/FALSE 결과 배열을 생성하는 간단한 비교일 뿐입니다. 그런 다음 --
연산자를 사용할 수 있습니다. cybernetic.nomad
또는 *1
여기에서 사용하는 것과 같습니다. 이는 리터럴 TRUE/FALSE 배열 요소를 1/0 배열 요소로 변환하여 SUM()
추가할 수 있도록 합니다. (제가 선호하는 것은 *1
표현식에 자체 곱셈이 있는 경우 표현식 끝에 추가하지 않는 것이 쉽기 때문입니다. 곱셈(또는 대신 를 수행하는 경우 추가 OR
) AND
이 변환에 충분하기 때문입니다. 물론, 훌륭하게 작동하며 많은 사람들에게는 --
더 명확해 보이고 유지 관리가 더 쉬워질 것입니다 *1
. 우리 인간은 그와 같으며 각자에게 최고입니다.)
가족 COUNT
이 1/0을 직접 생산하므로 그 가치는 매우 좋습니다. 그러나 이렇게 범위에 걸쳐 적용할 때는 여전히 내용을 요약해야 합니다.