列名だけを使用して列の合計を取得する場合は、Excelで3つの簡単な方法でこれを行うことができます。これらの方法を調べてみましょう。

他の記事とは異なり、最初にシナリオを見てみましょう。

ここに、さまざまな月にさまざまなセールスマンが行った売上の表があります。

image

ここでのタスクは、CellC10で特定の月の売上の合計を取得することです。 B10で月を変更すると、数式を変更せずに、合計が変更され、その月の合計が返されます。

方法1:SUMPRODUCT関数を使用してテーブルの列全体を合計します。一致する列を合計するSUMPRODUCTメソッドの構文は次のとおりです。

=SUMPRODUCTcolumns)(headers=heading*

列:*合計する列の2次元範囲です。ヘッダーを含めることはできません。上の表では、C3:N7です。

ヘッダー:合計する列*のヘッダー範囲です。

上記のデータでは、C2:N2です。

見出し:一致させたい見出しです。上記の例では、B10にあります。

さらに遅れることなく、式を使用しましょう。

=SUMPRODUCTC3:N7)(C2:N2=B10*

そしてこれは戻ります:

image

どのように機能しますか?

簡単です。式では、statementC2:N2 = B10は、B10に一致する値を除くすべてのFALSE値を含む配列を返します。これで、式は

=SUMPRODUCT((C3:N7)\{FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE})

になります。ここで、C3:N7がこの配列の各値に乗算されます。 TRUEで乗算される列を除いて、すべての列がゼロになります。これで、式は次のようになります。

=SUMPRODUCT(\{0,0,0,0,6,0,0,0,0,0,0,0;0,0,0,0,12,0,0,0,0,0,0,0;0,0,0,0,15,0,0,0,0,0,0,0;0,0,0,0,15,0,0,0,0,0,0,0;0,0,0,0,8,0,0,0,0,0,0,0})

ここで、この配列が合計され、セルB10の列と一致する列の合計が取得されます。

方法2:INDEX-MATCH関数を使用してテーブルの列全体を合計します。一致する列見出しをExcelで合計するメソッドの構文は次のとおりです。

=SUM(INDEX(columns,,MATCH(heading,headers,0)))

このメソッドのすべての変数は、SUMPRODUCTメソッドと同じです。

問題を解決するためにそれを実装しましょう。この式をC10で記述します。

=SUM(INDEX(C3:N7,,MATCH(B10,C2:N2,0)))

これは次を返します:

image

どのように機能しますか?

公式は裏返しに解かれます。まず、 `link:/ lookup-formulas-excel-match-function [MATCH function]`は、C2:N2の範囲から一致する月のインデックスを返します。

B1oに5月があるので、5になります。これで式は

=SUM(INDEX(C3:N7,,5))

になります。次に、 `link:/ lookup-formulas-excel-index-function [INDEX function]`は、C3:N7の5番目の列から値を返します。これで、式は次のようになります。

=SUM(\{6;12;15;15;8})

そして最後に、これらの値の合計を取得します。

方法3:名前付き範囲と間接関数を使用してテーブル内の列全体を合計する範囲に列見出しとして名前を付けると、すべてが簡単になります。この方法では、最初に列に見出し名として名前を付ける必要があります。

見出しを含むテーブルを選択し、CTRL + SHIFT + F3を押します。範囲から名前を作成するためのダイアログが開きます。一番上の行を確認し、[OK]ボタンを押します。

image

すべてのデータ列に見出しとして名前が付けられます。

これで、一致する列を合計する一般的な式は次のようになります。

=SUM(INDIRECT(heading))

見出し:合計する列の名前です。この例では、現時点でmayが含まれているのはB10です。

この一般的な数式を実装するには、セルC10にこの数式を記述します。

=SUM(INDIRECT(B10))

これは5月の合計を返します:

image

別の方法はこれに似ています。この方法では、Excelテーブルとその構造化された命名を使用します。上記のテーブルにtable1という名前を付けたとしましょう。この場合、この式は上記の式と同じように機能します。

=SUM(INDIRECT(“Table1[“&B10&”]”))

どのように機能しますか?

この式では、INDIRECT関数は名前の参照を取得し、それを実際の名前参照に変換します。以降の手順は簡単です。 SUM関数は、指定された範囲を合計します。

そうですね、これで一致する列をExcelで合計できます。お役に立てば幸いです。この記事またはその他のExcel / VBA関連のトピックについて疑問がある場合は、以下のコメントセクションで質問してください。

関連記事:

link:/ summing-how-to-sum-by-matching-row-and-column [Excelで行と列を一致させて合計する方法] | * SUMPRODUCTは、合計とカウントに関して最も用途の広い関数です。トリッキーな基準を持つ値。列と行を照合して合計する一般的な関数は…​

link:/ excel-generals-sumif-with-3d-reference-in-excel [SUMIF with 3D Reference in Excel] | *おもしろいことに、通常のExcel3D参照はSUMIF関数などの条件関数では機能しません。 。この記事では、SUMIF関数を使用して3D参照を機能させる方法を学習します。

link:/ excel-generals-relative-and-absolute-reference-in-excel [Excelの相対参照と絶対参照] | Excelでの参照は、すべての初心者にとって重要なトピックです。経験豊富なExcelユーザーでさえ、参照を間違えます。

link:/ lookup-formulas-dynamic-worksheet-reference [Dynamic Worksheet Reference] | ExcelのINDIRECT機能を使用して動的に参照シートを提供します。これは簡単です…​

link:/ excel-range-name-expanding-references-in-excel [Expanding References in Excel] |展開参照は、下または右にコピーすると展開します。そのために、列番号と行番号の前に$記号を使用します。ここに1つの例があります…​

link:/ excel-range-name-absolute-reference-in-excel [All About Absolute Reference] | Excelのデフォルトの参照型は相対ですが、セルと範囲の参照を絶対にする場合は、$記号を使用します。これがExcelでの絶対参照のすべての側面です。

人気の記事:

link:/ keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity [生産性を高めるための50のExcelショートカット] |あなたの仕事をより速くしてください。これらの50のショートカットにより、Excelでの作業がさらに高速になります。

link:/ forms-and-functions-introduction-of-vlookup-function [ExcelのVLOOKUP関数] |これは、さまざまな範囲やシートから値を検索するために使用される、Excelの最も使用され人気のある関数の1つです。

link:/ Tips-countif-in-microsoft-excel [COUNTIF in Excel 2016] |この驚くべき関数を使用して、条件付きの値をカウントします。特定の値をカウントするためにデータをフィルタリングする必要はありません。

ダッシュボードを準備するには、Countif関数が不可欠です。

link:/ excel-formula-and-function-excel-sumif-function [ExcelでSUMIF関数を使用する方法] |これは、ダッシュボードのもう1つの重要な機能です。これは、特定の条件で値を合計するのに役立ちます。