값 행이 있고 빈 셀을 계산하지 않고 처음 3개의 평균을 찾고 싶습니다. 예:
ABCDEFG 12 공백 8 공백 7 9 4
비어 있지 않은 처음 3개 셀의 평균은 9가 되어야 하지만 이를 계산하는 공식을 찾을 수 없습니다. 누구든지 도와줄 수 있나요?
답변1
~ 안에A2입력하다:
=IF(A1="",0,1)
그리고지하 2층입력하다:
=IF(OR(B1="",SUM($A$2:A2)=3),0,1)
그리고 복사해 보세요. 그런 다음 다른 셀에 다음을 입력합니다.
=SUMPRODUCT((1:1)*(2:2))/3
답변2
답변3
솔루션 1
무차별 대입: 원하는 평균은 다음과 같이 계산할 수 있습니다.
=IF(횟수($A1:$C1)=3, 평균($A1:$C1), IF(횟수($A1:$D1)=3, 평균($A1:$D1), IF(횟수($A1:$E1)=3, 평균($A1:$E1), IF(횟수($A1:$F1)=3, 평균($A1:$F1), IF(COUNT($A1:$G1)=3, AVERAGE($A1:$G1), "죄송합니다"))))) (한 줄 버전:) =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),"죄송합니다")))))
세 개의 숫자가 포함된 행의 가장 짧은 초기 하위 집합을 찾아 평균을 구합니다. 이는 많은 수의 열에 대해 어색할 뿐만 아니라 실제로 상당히 빨리 실패할 수 있습니다. (제 생각에는) IF()
중첩 제한이 상당히 낮기 때문입니다.
솔루션 1.9
피네스.
아직 끝나지 않았기 때문에 이것을 "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})))
하지만 (12)의 값 A1
이나 오류( #DIV/0!
또는 #REF!
)를 반환합니다. 이걸 어떻게 마무리해야 할지 모르겠어요.