質問するログイン新規登録

回答編集履歴

1

追加

2025/09/12 00:50

投稿

bsdfan
bsdfan

スコア4947

answer CHANGED
@@ -7,11 +7,18 @@
7
7
  =AVERAGE(ARRAYFORMULA(IF(C7:E7="",0,XLOOKUP(C7:E7,$G$2:$G$5,$H$2:$H$5))))
8
8
  ```
9
9
 
10
-
10
+ エラー値をゼロにするのでもいいならもう少しシンプルにできます。
11
+ ```
12
+ =AVERAGE(ARRAYFORMULA(XLOOKUP(C7:E7,$G$2:$G$5,$H$2:$H$5,0)))
13
+ ```
11
14
  > ARRAYFORMULA関数等を使い、縦方向に自動で計算されることが望ましい
12
15
 
13
16
  `AVERAGE` が配列を受け取る関数なので、`ARRAYFORMULA(AVERAGE(...))` という形にはできないです。`AVERAGE` を使わなければいいので、
14
17
  ```
15
18
  =ARRAYFORMULA((IF(C7:C9="",0,XLOOKUP(C7:C9,G2:G5,H2:H5))+IF(D7:D9="",0,XLOOKUP(D7:D9,G2:G5,H2:H5))+IF(E7:E9="",0,XLOOKUP(E7:E9,G2:G5,H2:H5)))/3)
16
19
  ```
20
+ もしくは
21
+ ```
22
+ =ARRAYFORMULA((XLOOKUP(C7:C9,G2:G5,H2:H5,0)+XLOOKUP(D7:D9,G2:G5,H2:H5,0)+XLOOKUP(E7:E9,G2:G5,H2:H5,0))/3)
23
+ ```
17
24
  みたいにすればできますが、ちょっとわかりにくいように思います。