Excel 2010で数式を使用して自動で新しい行を埋めるようにするには?
私は、Excelが自動的に新しく挿入された行に上の行と同じ式で塗りつぶすという動作を見たことがあります。
これはいくつかのVBAでできることは知っていますが、可能であれば、ネイティブでこのようなことが起こるトリガーとなるものを見つけたいと思っています(私が夢を見ているのでなければ)。誰かこれがどのように行われるか知っていますか?
私は、Excelが自動的に新しく挿入された行に上の行と同じ式で塗りつぶすという動作を見たことがあります。
これはいくつかのVBAでできることは知っていますが、可能であれば、ネイティブでこのようなことが起こるトリガーとなるものを見つけたいと思っています(私が夢を見ているのでなければ)。誰かこれがどのように行われるか知っていますか?
これは夢ではありません、その通りです。エクセルのAIはこれらのことをトリガーにします、テーブルだけではありません。ちょっとした例を示してみましょう。
A
列に数字をどんどん記入していきます。1 2 3 4 5
1 10 2 20 3 30 4 40 5 50
=A1*10
の下に 6
(または任意の数値) と入力して (コンテキストでは 5
となるはずです)、通常の操作と同様に TAB または ENTER キーを押します。これは数式だけに発生するものではありません - フォーマットも自動適用される場合があります。
私は完全なケースのリストを提供することはできませんが、私はあなたがヒントを得たと思います!)
配列式を使用すると、オートフィル機能を完全に回避することができます。通常のように数式を入力しますが、各セル参照の最後に:column
を追加してからCtrl+Shift+Enter**を押します。すると、数式は何もドラッグせずに列内のすべてのセルに即座に適用されます
新しいExcelバージョンでは、新しいデータ行があると自動的に配列式を使用して下に埋めるようになります
Office 365の2018年9月のアップデートから、複数の結果を返すことができるすべての数式は、自動的に下に、または隣のセルに横切ってこぼれ落ちるようになりました。この動作の変更には、いくつかの新しい動的配列関数も伴います。動的配列式は、既存の関数を使用している場合でも、動的配列関数を使用している場合でも、1つのセルに入力し、Enterキーを押すことで確認するだけで済みます。これまでのレガシー配列式では、最初に出力範囲全体を選択してから、Ctrl+Shift+Enterで式を確認する必要がありました。これは一般的に CSE 式と呼ばれています。
古いバージョンのExcelをお使いの方や、配列式についてもっと詳しく知りたい方は、続きをお読みください
例えば、D3に=B3:B + 2*C3:C
を入力してCtrl+Shift+Enterを押すのは、=B3 + 2*C3
を入力して、3行目から始まる表の中でずっと下にドラッグするのと同じです
これは入力が速いですね。しかし、最後の(現在のテーブルの外側の)未使用のセルはまだ計算されていて0を表示するという欠点があります。0を非表示にする簡単な方法があります。しかし、さらに良い方法は、テーブルの最後の列に計算を制限することです。配列式では、X3 から X101 までのセルにのみ X3:X101
を使用することができることを知っているので、同じ効果を得るために INDIRECT
関数 を使用することができます
=LOOKUP(2, 1/(A:A <> ""), A:A)
を入力して、テーブル内の _最後の空白ではないセルを見つけ、それを LastRow
と名付けます。=COUNTA(A3:A) + 2
B3:B
の代わりに=INDIRECT("B3:B" & LastRow)
例えば、D列のセルにはBとCのセルの積を、E列のセルにはBとCの和を入れたい場合。D3 = B3*C3
とE3 = B3 + C3
を使ってドラッグダウンするのではなく、D3とE3にそれぞれ以下の計算式を入れて、Ctrl+Shift+Enterを押すだけで
=INDIRECT("B3:B" & LastRow) * INDIRECT("C3:C" & LastRow)
=INDIRECT("B3:B" & LastRow) + INDIRECT("C3:C" & LastRow)
ができます。
データアクセスパターンが既に分かっているので、配列式は非常に高速です。また、以下のような利点があります。
- 一貫性: E2から下のセルのいずれかをクリックすると、同じ式が表示されます。この一貫性は、より高い精度を確保するのに役立ちます。
- 安全性: 複数セルの配列式のコンポーネントを上書きすることはできません。例えば、セルE3をクリックしてDeleteを押します。セルの全範囲(E2 ~ E11)を選択して配列全体の数式を変更するか、配列をそのままにしておく必要があります。安全策として、Ctrl+Shift+Enter キーを押して数式の変更を確認する必要があります。
- ファイルサイズが小さい場合:複数の中間式の代わりに、1つの配列式を使用することがよくあります。例えば、このワークブックでは 1 つの配列式を使用して E 列の結果を計算していますが、標準の式 (
=C2*D2
,C3*D3
,C4*D4
, 0x6&…) を使用していた場合、同じ結果を計算するために 11 種類の式を使用することになります。
詳細は
これは、Tableの空欄に数式を入力した場合のExcelのデフォルトの動作です。これを実現するには、Tableに
エクセルが自動的にこれを行う方法の1つは、複数の行に目的の数式をコピー&ペーストすることです。あなたはそれを1つずつ行う場合は、コピーとペーストが自動的にその後のすべての行のために完了する必要があることは明らかではありません。あなたがブロックでコピーして貼り付ける場合は、エクセルが引き継ぎ、自動的にコピーして、将来の行のための数式を貼り付けます。