내 문제는 셀에 문자열로 작성된 기준이 있다는 것입니다. 예를 들어 ">= 50"은 셀 A1에 있습니다. 이 함수는 부울 기준을 문자열로 사용하므로 SUMIFS 및 COUNTIFS와 함께 쉽게 사용할 수 있습니다. 따라서 COUNTIFS(range, A1)은 범위 내 항목 중 50보다 크거나 같은 항목 수를 알려줍니다.
IF와 유사한 함수(논리 테스트를 평가하는 것임)로도 이 작업을 수행할 수 있기를 원하지만 IF 함수에서 부울 값을 평가하는 유일한 방법은 실제 부울 연산을 사용하는 것이 아닌 것 같습니다. 문자열. 따라서 배열에 적용할 때 IF(range >= 50, 1, 0) 과 동등한 것을 원하지만(결과는 조건 충족 여부에 따라 1과 0의 범위여야 함) 대신 구문은 다음과 같습니다. IF_new(범위, ">= 50", 1, 0)와 같습니다.
나의 최종 목표는 SUMPRODUCT() 내에서 IF_new(...) 스타일 함수를 사용하는 것입니다(행이 포함될 표시기와 같습니다). 그래서 저는 함수 내부에서 >=50이 아닌 ">= 50"(부울이 문자열 안에 포함되어 있고 COUNTIFS 및 SUMIFS와 마찬가지로 평가됨)을 사용하여 이 작업을 수행하는 방법을 구체적으로 찾고 있습니다.
VBA를 사용하지 않고도 가능합니까? 미리 감사드립니다!
답변1
=">=50"
셀을 부울 IF 문으로 변경하는 표준 방법은 없습니다 . 다음을 포함하는 셀에 대한 참조=">=50"
~할 수 있다COUNTIF 또는 SUMIF에 사용되지만 일반적으로 SUMPRODUCT 수식에서는 제대로 작동하지 않습니다.
OFFSET을 사용하여 범위의 각 셀을 단수로 분리합니다.범위COUNTIF의 텍스트로 기준에 대해 SUMPRODUCT 작업에서 On/Off를 제공합니다.
=SUMPRODUCT(COUNTIF(OFFSET(A1, ROW(1:6), 0, 1, 1), A1), B2:B7, C2:C7)
EVALUATE 및 명명된 범위를 사용하여 이 작업을 수행할 수도 있습니다.