답변:
AVERAGE 기능을 찾고 있습니다. Excel의 AVERAGE 함수의 수식 구문과 사용법 에 따르면 :
범위 또는 셀 참조 인수에 text, logical values 또는 empty cells이 포함 된 경우 해당 값은 무시됩니다. 그러나 값이 0 인 셀이 포함됩니다.
수식 =AVERAGE(A1:E1)
은 9
다음을 반환합니다 .
무차별 대입 : 원하는 평균은 다음과 같이 계산할 수 있습니다.
= IF (COUNT ($ A1 : $ C1) = 3, 평균 ($ A1 : $ C1), IF (COUNT ($ A1 : $ D1) = 3, 평균 ($ A1 : $ D1), IF (COUNT ($ A1 : $ E1) = 3, 평균 ($ A1 : $ E1), IF (COUNT ($ A1 : $ F1) = 3, 평균 ($ A1 : $ F1), IF (COUNT ($ A1 : $ G1) = 3, 평균 ($ A1 : $ G1), "oops"))))) (단일 버전 :) = IF (COUNT ($ A1 : $ C1) = 3, AVERAGE ($ A1 : $ C1), IF (COUNT ($ A1 : $ D1) = 3, AVERAGE ($ A1 : $ D1 ), IF (COUNT ($ A1 : $ E1) = 3, AVERAGE ($ A1 : $ E1), IF (COUNT ($ A1 : $ F1) = 3, AVERAGE ($ A1 : $ F1), IF (COUNT ( $ A1 : $ G1) = 3, 평균 ($ A1 : $ G1), "oops")))))
세 개의 숫자를 포함하는 행의 가장 짧은 초기 부분 집합을 찾아 평균을 구합니다. 이것은 많은 수의 열에 어색 할뿐만 아니라 IF()
중첩 한계가 상당히 낮기 때문에 실제로 상당히 빨리 실패 할 수 있습니다 .
피네스.
나는 아직 완료되지 않았기 때문에 이것을“1.9”라고 부릅니다. 표현식
SMALL(IF(ISNUMBER($A1:$G1),COLUMN($A1:$G1),""), {1,2,3})
(배열 수식에 사용됨)은 행 1에서 처음 세 숫자의 열 번호를 찾습니다.
IF(ISNUMBER($A1:$G1),COLUMN($A1:$G1),"")
부분 평가
IF( {TRUE,FALSE,TRUE,FALSE,TRUE,TRUE,TRUE}, {1,2,3,4,5,6,7}, "" )
어느 것이
{ 1, "", 3, "", 5, 6, 7 }
과 SMALL(…, {1,2,3})
의 상기 생산 { 1, 3, 5 }
. 간단히 말해서
=AVERAGE(INDEX($A7:$G7, 1, SMALL(IF(ISNUMBER($A7:$G7),COLUMN($A7:$G7),""),{1,2,3})))
또는
=AVERAGE(OFFSET($A7:$G7, 1, SMALL(IF(ISNUMBER($A7:$G7),COLUMN($A7:$G7),""),{1,2,3})))
그러나 값은 A1
(12) 또는 오류 ( #DIV/0!
또는 #REF!
) 를 반환합니다 . 나는 이것을 끝내는 방법을 알 수 없다.
A1
= 12,B1
= blank,C1
= 8,D1
= blank 및E1
= 7 인 경우 OP에는 수식이 필요하지 않습니다. 그는 답이 9라는 것을 알고 있습니다. 요점은 OP가 어떤 셀에 숫자가 있고 어떤 셀이 비어 있는지 미리 알 수 없다는 것입니다. 경우에 따라서,B1
다수의 그것 (물론이A1
와C1
), 다음 원하는 결과는AVERAGE(A1:C1)
, 당신의 대답은 잘못된 결과를 얻을 수 있습니다.