NA가 아닌 AVERAGEIFS 값

NA가 아닌 AVERAGEIFS 값

AVERAGEIFSB 열의 값으로 그룹화한 열의 평균을 계산 하는 다음이 있습니다.

= 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 |

공백 부분에 대해서는 거기서 무슨 일이 일어나는지 크게 신경 쓰지 않습니다. NAs가 평균에 영향을 미치지 않는 한 오류일 수도 있고 공백일 수도 있습니다. 신경 쓰지 않습니다.

답변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

관련 정보