Excel で新しい行が追加されたときに、関連するすべてのセルを自動的に更新する方法

Excel で新しい行が追加されたときに、関連するすべてのセルを自動的に更新する方法

購入したものの税金を計算するために使用するスプレッドシートがあります。このスプレッドシートには、消費税の計算、州税などの列があり、これらの各列はすべて、最初の列の値 (購入したものの価格) を参照しています。最初の行は、すべての相対参照が完了した状態で入力されています。2 行目に価格を追加しようとすると、他の列はどれも自動入力されません。他の 100 列をそれぞれ手動でダブルクリックして、入力を少なくする必要があります。1 列目に 1 ~ 1000 の数字だけを追加して、新しい価格を追加するとすべてが更新されるようにしましたが、スプレッドシートは 0、負の数、エラーなどで完全に混乱した状態になります。新しい行の列 A に「価格」という 1 つの数字を追加するだけで、ここに何かを追加するたびに他のすべてが自動的に入力されるようにしたいです。どうすればこれを実現できますか?

注: 私はすでにドラッグアンドドロップなしでセル範囲に数式を適用する答えを求めており、彼らが議論しているのは別のシナリオです。

答え1

ここで少し推論しているので、あなたが正確に何をしているのか、何を使ってそれを行っているのかについての私の推測に我慢してください。

どうやら、列 A に 1 ~ 1000 の「ダミー」のパターン値を入力して、うまくいかなかったようです。これは、入力したセルの右側にある他のすべてのセルに数式が含まれていることを強く示唆しており、そのため、醜いものがすべて表示されています。そこで、ここでの私の最初の取り組みは、その点に対処し、すべてをうまく処理するためのトリックを紹介します。

単純なものでも複雑なものでも、希望どおりのことはできるが、見栄えを良くするための装飾や「まあ、たまには…」といった処理は行わない数式全体を取得する場合、これを「数式を新しい関数でラップする」といいます。簡単な例: 結果として文字列になる操作を実行したが、先頭または末尾に残念なスペースがあったり、中間に複数のスペースが一緒に含まれていたりする場合、これまでのすべてを関数で「ラップ」して、TRIM()問題のあるスペースを取り除きます。

この場合、数式は配置されていますが、列 A に実際の値がない限り、数式が乱雑に表示されるのは望ましくありません。そこで、次の関数を使用して数式をラップします (数式の最初の行でのみ実行し、コピーして貼り付けることで、他の作業なしでしばらくデータを追加できると思うところまで進めます。100 行でしょうか、1,000 行でしょうか) IF()

=IF(A4="","",  (what you had goes here)  )

したがって、行 4 のすべてのセルは、A4 にエントリがあるかどうかを確認します。エントリがない場合、すべて "" (何もない、空白のように見えるセル) を返します。A4 に何かがある場合は、機能する数式の結果がすべて見栄えよく表示されます。

ただし、まさにあなたが抱えている問題のために発明された「テーブル」と呼ばれるものがあります。Deleteまだ使用していないセルのすべての数式 (列 A のダミーのものを含む) を強調表示し、実際の列 A のデータが存在する数式だけを残す必要があります。 で、以下の行がすべてクリアされますDelete

次に、存在する実際のデータ内の任意のセルを選択するか、ヘッダーを含むすべてのセルを強調表示してから、に移動してRibbonをクリックしますINSERT。最初のセクションはTablesセクションで、一番右のアイコン (左から 3 番目) は [テーブル] です。これをクリックします。小さな (本当に小さな) ダイアログ ボックスが開き、2 つの項目が表示されます。最初は、Excel がテーブルを構成するセルを推測したものです。通常、これはかなり正確ですが、それらのセルに隣接しているものがあって混乱を招かない限りは正確です。正しいと思われる場合は、続行します。正しくない場合は、マウスを使用して、ヘッダーを含むすべての項目を強調表示して、Excel が間違えないようにします。次に、ヘッダーがある場合は、その下の [テーブルにヘッダーがあります] のボックスをクリックして入力し、クリックしてOK完了です。

さて、行の列 A のセルに何かを入力すると、行の残りの部分に数式が自動的に入力されます。そのため、見た目が気に入らないすべての汚れを取り除く必要がありました。A セルに何かを入力すると、残りのすべてが即座に入力されます。いいですね。いくつかの小さなポイント...次の行を意味します。40 行の空白行ではなく、41 番目の A セルに入力します。これでは始まりません...また、何らかの理由で数式を変更する必要がある場合は、悪夢です。セルの数式を変更し、次の行を使用するときに古い数式が入力されているのを確認します。これを修正する方法は複雑です。ここで述べられている使用法の 1 つの考えは、これを長期間使用すると、税率が変わる可能性があるということです。提案としては、別の場所に小さな税率検索テーブルを作成し、各セルの数式で、またはなどの検索関数を使用して、XLOOKUP()日付VLOOKUP()に基づいて検索することです (日付用の列が必要になる可能性があります)。そうすれば、小さなテーブルを変更したり追加したりしても、数式はTable変更されません。

3 番目に良い方法は、新しい行が必要になるたびに数式の行をコピーすることです。これにはいくつかの方法があります。明らかな方法 (強調表示、コピー、貼り付け、ですよね?) の他に、必要なたびに下方向に塗りつぶすことができます。コピーして貼り付けるかのように強調表示してから、塗りつぶしツールを使用します。相対参照を使用して、現在いる行 (その行の A セルを除く) である名前付き範囲を定義するなどの難解な操作を行うこともできます。その後、新しい行が必要になるたびに、使用されている行のセルを選択し、F2 編集バーの左側にある A1 の上の範囲ボックスを使用して、ドロップダウン ボックスからその範囲をダブルクリックして表示および選択します。これにより、現在の行が強調表示されてコピーでき、空白の行に移動して貼り付けることができます。つまり、数式の行を強調表示するという大変な手間を省くことができます。

Table要するに、それはあまり楽しいオプションではないということです。したがって、最初の 2 つのうちの 1 つを使用してください。特に に変換すると、Tables他にも利点がありますが、ここでの使用にはどれもあまり関係ないように見えます。

テーブル... 私は彼らの最大のファンではありませんが、それはここでまさに必要なものであり、セットアップも簡単です。ああ、どんなスタイルでも受け入れてください。必要に応じて後で変更してください。走る前に歩く、ですね?

関連情報