
AVERAGEIFS
B 열의 값으로 그룹화한 열의 평균을 계산 하는 다음이 있습니다.
= AVERAGEIFS(B:B, A:A, A:A)
문제는 때때로 B 열에 NA()
오류가 포함되어 있다는 것입니다. 방정식에서 이러한 항목을 어떻게 필터링합니까?
필터를 하려고 했는데
= AVERAGEIFS(ARRAYFORMULA(IF(ISNUMBER(B:B),B:B)), A:A,A:A)
하지만 이로 인해 오류가 발생합니다.
다음은 몇 가지 샘플 데이터입니다.
* A * B *
| Fred | 8 |
| Bill | 9 |
| Jane | NA |
| Jane | 9 |
| Fred | NA |
| Bill | 5 |
| Fran | 9 |
| Fred | 4 |
| Jane | 1 |
내가 원하는 것은 각 행 옆에 NA를 계산하지 않은 사람의 평균을 표시하는 열 C를 추가하는 것입니다.
* A * B * C *
| Fred | 8 | 6 |
| Bill | 9 | 7 |
| Jane | NA | |
| Jane | 9 | 5 |
| Fred | NA | |
| Bill | 5 | 7 |
| Fran | 9 | 9 |
| Fred | 4 | 6 |
| Jane | 1 | 5 |
공백 부분에 대해서는 거기서 무슨 일이 일어나는지 크게 신경 쓰지 않습니다. NA
s가 평균에 영향을 미치지 않는 한 오류일 수도 있고 공백일 수도 있습니다. 신경 쓰지 않습니다.
답변1
옵션 1 - 배열이 있는 IFNA()
AVERAGEIFS
실제로 무엇을 하려는지 잘 모르겠지만 이 문제를 해결하려면 을 IFNA()
배열 수식과 함께 사용하면 됩니다( Ctrl + Shift + Enter
수식을 입력할 때).
= AVERAGEIFS(IFNA(B:B,""), A:A, A:A)
이렇게 하면 NA()
처리 중인 데이터의 값이 공백으로 변합니다.
옵션 2 - 데이터 정리
이것은 일반적으로 내 옵션 1이지만 귀하가 요청한 것이 아니라는 것을 알고 있으므로 2로 강등했습니다.
NA()
분명히 위의 모든 공식은 빈 값으로 대체됩니다 . 또는 처음에 셀을 공백으로 계산하도록 하면 어떨까요? 이렇게 하면 열도 더 멋지게 보일 것입니다.
기본 셀에 어떤 계산이 있든 대신 NA()
반환 옵션을 변경 ""
하거나 전체 계산을IFNA([insert calculation here],"")
답변2
그다지 현명하지 않은 방법은 다음을 사용하여 새로운 숨겨진 열(예: 열 D)을 추가하는 것입니다.
=IF(ISNUMBER(B:B),B:B,0)
그러면 =AVERAGEIFS(D:D,A:A,A:A)
의도한 대로 작동할 것입니다.
Fred 8 4
Bill 9 7
Jane NA 3.333333333
Jane 9 3.333333333
Fred NA 4
Bill 5 7
Fran 9 9
Fred 4 4
Jane 1 3.333333333