web-dev-qa-db-ja.com

Excel 2010で数式を新しい行に自動入力する方法

Excelが新しく挿入された行を上記の行と同じ数式で自動的に埋める動作を見たことを私は誓うことができます。

これは一部のVBAで実行できることはわかっていますが、可能であれば、これがネイティブで発生するきっかけとなるものを見つけたいと思っています(私が夢見ていない限り)。これがどのように行われるか知っていますか?

11
RipperDoc

これは夢ではありません。そうです。ExcelのAIは、テーブルだけでなく、これらのことを引き起こします。示すためのほんの小さな例:

  • 新しいワークブックを開き、列Aに番号を増やして入力します。例:
1
2
3
4
5
  • 次に、列Bに簡単な数式を追加します。 =A1*10およびこれを取得するために番号のリストを自動入力します。
1      10
2      20
3      30
4      40
5      50
  • AIの動作を確認するには、6の下の次の行に5(または任意の数)と入力し(コンテキストではA6である必要があります)、次のいずれかを押します。 TAB OR ENTER -いつものように。
  • 魔法をお楽しみください! (:

これは数式では発生しません-書式設定も自動適用される場合があります。データセットに新しい列を追加し、「ヘッダー」(1行目)に特別なフォーマット(黒の塗りつぶし/白のテキスト)があり、そこに値を入力し始めたとき-ほとんどの場合、同じように色付けされます。

ケースの完全なリストを提供することはできませんが、手がかりはわかったと思います!)

6
Peter L.

配列数式を使用すると、自動入力機能を完全に回避できます。通常のように数式を入力しますが、各セル参照の最後に_:column_を追加してからを押します Ctrl+Shift+Enter。次に、数式は何もドラッグせずに列のすべてのセルにすぐに適用されます


編集:

新しいバージョンのExcelは、新しいデータ行がある場合、自動的に配列数式を使用して入力します

Office 365の2018年9月の更新以降、複数の結果を返す可能性のある数式は、自動的にそれらを下に、または隣接するセルに溢れさせます。この動作の変更には、いくつかの新しい動的配列関数も伴います。動的配列数式は、既存の関数を使用していても動的配列関数を使用していても、単一のセルに入力するだけで済み、Enterキーを押して確定する必要があります。以前のレガシー配列数式では、最初に出力範囲全体を選択し、次に数式を確認する必要があります Ctrl+Shift+Enter。これらは一般にCSE数式と呼ばれます。

配列数式のガイドラインと例

以前のバージョンのExcelを使用している場合、または配列数式について詳しく知りたい場合は、読み続けてください。


たとえば、D3に_=B3:B + 2*C3:C_を入れて、 Ctrl+Shift+Enter _=B3 + 2*C3_と入力して、3行目から始まるテーブル内を下までドラッグするのと同じです。

これは高速で入力できますが、最後(現在のテーブルの外)にある未使用のセルが計算されて0を表示するという欠点があります。 を非表示 にする簡単な方法があります。ただし、さらに良い方法は、計算をテーブルの最後の列に制限することです。配列数式では、_X3:X101_を使用してX3からX101までのセルにのみ適用できることを知っている INDIRECT function を使用して同じ効果を達成できる

  • テーブルの外側のセルに=LOOKUP(2, 1/(A:A <> ""), A:A)と入力して、テーブル内の最後の空白でないセルを見つけ、LastRowという名前を付けます。または、テーブルの最初の行が3の場合は=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)
_

今後は新しい行にデータを追加するたびに、テーブルが自動的に更新されます


データアクセスパターンは既知であるため、配列数式は非常に高速です。 100001の異なる計算を個別に行う代わりに、CPUで複数のコアとSIMDユニットを使用して、 vectorized および done in parallel にすることができます。また、以下の利点もあります。

  • 整合性:E2から下のいずれかのセルをクリックすると、同じ数式が表示されます。この一貫性は、より高い精度を保証するのに役立ちます。
  • 安全:マルチセル配列数式のコンポーネントを上書きすることはできません。たとえば、セルE3をクリックし、Deleteキーを押します。セルの範囲全体(E2からE11)を選択して配列全体の数式を変更するか、配列をそのままにする必要があります。追加の安全対策として、あなたは押す必要があります Ctrl+Shift+Enter 数式の変更を確認します。
  • 小さいファイルサイズ:多くの場合、複数の中間式ではなく、単一の配列式を使用できます。たとえば、ワークブックは1つの配列数式を使用して列Eの結果を計算します。標準の数式(_=C2*D2_、_C3*D3_、_C4*D4_…など)を使用した場合は、同じ結果を計算する11の異なる数式。

配列数式のガイドラインと例

詳細については、

2
phuclv

私にとっては、2列の数式で機能していて、そのうちの1列だけで突然停止しました。別のセルをコピーして貼り付け、リンクをめちゃくちゃにしたに違いないと思います。それを修正するために、セルを選択し、ホーム>編集>塗りつぶし>シリーズに移動して詳細を再確認しました。お役に立てば幸いです。

0
Oli

tableが自動入力を停止するこの問題が発生していました...なぜ突然動作しなくなったのかはわかりませんが、ここに修正があります:

  • テーブルの最後の行の適切な列に数式を追加し、enterを押します
  • fxというラベルの付いた小さな正方形のポップアップをクリックして、Overwrite all cells in this column with this formulaを選択します
  • テーブルに新しい行を追加します。これで、数式が自動入力されます。

これは私にとって見事に機能しました。他の人の役に立つことを願っています。

0
S3DEV

表示されている問題は、テーブルの一部の列が自動入力に設定されていないことが原因である可能性があります。数式のあるセルを選択し、右下隅にある緑色のボックスをつかんで、最後の行またはテーブルにドラッグすることにより、列を自動入力できます。これを行うと、列が自動入力され、すべての新しい行が自動的にその列に数式を持ちます。

0
Dennis

数式(必要に応じて再書き込み)を入力してEnterキーを押します。次回データを次の行に追加すると、自動的に数式が入力されます。

0
Natalie

Excelにこれを自動的に実行させる1つの方法は、複数の行に目的の数式をコピーして貼り付けることです。 1つずつ行うと、その後、すべての行のコピーと貼り付けが自動的に完了する必要があるかどうかが明確ではありません。ブロックをコピーして貼り付けると、Excelが引き継ぎ、今後の行の数式を自動的にコピーして貼り付けます。

0
user300038

Tableの空白の列に数式を入力した場合、これがExcelのデフォルトの動作です。これを取得するには、Tableを挿入する必要があります:

enter image description here

0
Peter Albert