リクエスト: Google スプレッドシートの ARRAYFORMULA + CONTINUE 機能に相当する Excel

リクエスト: Google スプレッドシートの ARRAYFORMULA + CONTINUE 機能に相当する Excel

Google スプレッドシートには、1 つのセル内の数式を使用して行、列、または領域全体を指定できる構文があります。たとえば、次のように入力します...

=ARRAYFORMULA(ROW(A3:A6))

... セル C1 に入力すると、... が作成されます。

   C
1  3
2  4
3  5
4  6

セル C2 から C4 の内容は、数式「CONTINUE」です。

Excel では、{=ROW(A3:A6)} [CTRL] [SHIFT] [ENTER] と入力すると...

   C
1  3
2  
3  
4  

Excel で残りの行を入力する方法はありますか?

望ましい最終結果は、次のような式です...

   A
1  Fred
2  Wilma
3  Barney
4  Betty

... が生成されます...

   B
1  Fred Wilma
2  Barney Betty
3  
4  

...ユーザーがコピー&ペーストする必要がありません。

答え1

必要な操作は、Excel に数式を入力する前に、A1 から A4 までの範囲全体を選択すること以外は、これまでとまったく同じです。次に、数式を入力して [ctrl][shift][enter] キーを押します。

答え2

ArrayFormula 関数ほど単純ではありませんが、OFFSET() 数式を使用して Google シートの ArrayFormula を MS Excel で複製することは可能です。

関数の完全なドキュメントはここにあります。

https://support.office.com/ja-jp/article/OFFSET-function-C8DE19AE-DD79-4B9B-A14E-B4D906D11B66 翻訳: 翻訳

簡単な例

Google スプレッドシート

= ARRAYFORMULA(SQRT(Sheet2!A:A))

=> これにより、各値の平方根を取って、Sheet2 の列 A 全体がコピーされます。

Excelバージョン

= SQRT(OFFSET(Sheet2!A1,0,0,COUNTA(Sheet2!A:A),1))

=> これは列の参照を取得しますが、各値の平方根を取る前に、参照の高さと幅を手動で指定する必要があります。

関連情報