問題:

次の数式は、Book1、Sheet1の行3の値を列Aから合計するために作成されました。

SUM(OFFSET( ‘C:\ My Documents \ [Book1.xls] Sheet1’!$ A $ 3,0,0,1、A2))

ただし、数式はBook1が開いている場合にのみ正しく機能します。

Book1を閉じると、数式は#VALUE!を返します。

Workbook1が開いているかどうかに関係なく、数式が機能するように数式を変更するにはどうすればよいですか?

解決策:

次の配列数式に示すように、SUM、COLUMN、およびINDIRECT関数を使用します。

\ {= SUM((COLUMN(INDIRECT( “A:Z”))<column(indirect( “a:a”))+ a2)* IF(ISNUMBER( ‘C:\ My Documents \ [Book1.xls] Sheet1 ‘!$ A $ 3:$ Z $ 3)、’ C:\ My Documents \ [Book1.xls] Sheet1 ‘!$ A $ 3:$ Z $ 3))}