web-dev-qa-db-ja.com

Excel-同じテーブル内の他の列をチェックして条件が満たされた場合、列を合計します

小さな小売店で使用するスプレッドシートを作成しようとしています。

シートに経費の数値、別のシートに収入の数値を含むワークブックがあります。

両シートの共通点は月であると言えます。

指定した月の費用のみを選択する関数を作成したいと思います。

何かのようなもの -

=SUM(IF( Table4[Month]="January", Table4[Amount])) 

// I want the sum of all expenses of a given table for only 
// those months which are january etc.

上記を使用してみましたが、失敗しました。

30
Kunal

これは動作するはずですが、ちょっとしたトリックがあります。数式を入力したら、Ctrl + Shiftを押しながらEnterを押す必要があります。すると、数式バーに数式が中かっこで囲まれていることがわかります。これは配列式と呼ばれます。

たとえば、月がセル_A2:A100_にあり、金額がセル_B2:B100_にある場合、式は{=SUM(If(A2:A100="January",B2:B100))}のようになります。ただし、実際には中括弧は入力しません。

=SUM((A2:A100="January")*B2:B100)のようなこともできます。あなたはまだそれを正しく動作させるためにトリックを使用する必要があります。

18
Don Pratt

実際には、より洗練されたソリューションは、組み込み関数sumifを使用することです。この関数は、必要なことを正確に行い、合計のみ指定された月の費用。

=SUMIF(A2:A100,"=January",B2:B100)
64
Alen

SUMIFは私には機能せず、SUMIFSを使用する必要がありました。

=SUMIFS(TableAmount,TableMonth,"January")

TableAmountは値を合計するテーブル、TableMonthは条件を検索するテーブル、1月はもちろん満たす条件です。

これが誰かを助けることを願っています!