エクセル関数で掛け算の基礎と応用

当ページのリンクには広告が含まれています。

スポンサーリンク

エクセルでの掛け算の基本と、INDIRECT × ADDRESS 関数を合わせた応用 を紹介します

基礎と応用を網羅的に学べます。

クリックしてジャンプ

エクセルでの掛け算は3種類

エクセルでの掛け算には主に以下の3種類の方法があります

  • 乗算演算子*
  • PRODUCT関数
  • SUMPRODUCT関数

サンプルを例に、それぞれの方法について表で解説します

サンプル

スクロールできます
方法説明使用例結果*で表現
*
乗算演算子
最も基本的な掛け算。セルまたは値を直接指定して掛ける。=B2*C210000=B2*C2
PRODUCT
関数
複数の数値やセル範囲を掛け合わせる。引数が複数指定可能。=PRODUCT(B2, C2)10000=B2*C2
SUMPRODUCT
関数
複数の配列(範囲)の対応する要素同士を掛け合わせた後、その結果を合計する。=SUMPRODUCT(B2:B3, C2:C3)240000(B2*C2)+(B3*C3)

*PRODUCTは基本的に同じ結果を出力しますが、使い方によってはPRODUCTの方が柔軟です

単一の掛け算ではどちらを使っても同じですが、PRODUCTは複数の値を一度に処理できるため複雑な計算式を簡潔に書くことができます

SUMPRODUCTは複数の配列(範囲)の対応する要素を掛け合わせてその結果を合計する特殊な機能を持っています

最大の特徴は、複数の配列間での計算が可能であることです

上の表にある「*で表現」は、SUMPRODUCTの働きを*+を使って同じ結果を得るための一例です

広範囲の配列や複数の配列を扱う場合はSUMPRODUCTを使用した方が、直感的で見やすくエラーを減らせます

PRODUCT関数は、いくつかの数字を全部かけたいときに使います

SUMPRODUCT関数は、2つのリストがあって、それぞれの対応する項目をかけ合わせてから、それらの合計を出したいときに使います

シートを超えて掛け算(INDIRECT×ADDRESS)

シートを横断して掛け算を行う際INDIRECTADDRESSを活用することで、セル参照先を動的に指定する事ができます

応用編として紹介します

具体的に、以下のような状況で優位性が発揮されます

  • 柔軟性ADDRESS関数で生成されたアドレスをINDIRECT関数に渡すことで、セル参照を柔軟に変更できます。これにより、複雑なデータ構造の中から必要なデータを動的に抽出することが可能になります
  • 自動更新が不要:特定の条件に基づいてセルアドレスを動的に生成できるため、シートの構造が変更されたとしても、参照先のセルアドレスを手動で更新する必要がありません
  • シートを跨いだ参照INDIRECT関数を使用することで、異なるシートやワークブックにあるセルを参照することができます。ADDRESS関数と組み合わせることで、これらの参照を動的に生成し、柔軟にデータを取り扱うことが可能です

INDIRECT関数とADDRESS関数 の活用テクニックは こちら の記事で紹介しています

INDIRECT を使った掛け算

INDIRECT関数を使うと、文字列で指定したセル参照から実際のセルの値を取得できます

これを使って、異なるシートのデータを参照し掛け算を行います。

具体例:
「売上」シートのA2セルに商品Aの単価が、別の「在庫」シートのB2セルに商品Aの在庫数が記載されているとします

以下で「売上」シートの商品Aの単価と「在庫」シートの商品Aの在庫数を掛け合わせた結果が得られます

=INDIRECT("売上!B2") * INDIRECT("在庫!B2")

INDIRECT × ADDRESS を使った掛け算

INDIRECT関数とADDRESS関数を組み合わせることで、さらに高度な掛け算が可能になります

ADDRESS関数は、セルの行と列の番号からセルのアドレスを文字列として返します

これをINDIRECT関数に渡すことで、動的にセルの位置を指定してその値を取得できます

具体例:
「売上」シートのA2セルに商品Aの単価が、別の「在庫」シートのB2セルに商品Aの在庫数が記載されているとします

以下で「売上」シートの商品Aの単価と「在庫」シートの商品Aの在庫数を掛け合わせた結果が得られます

=INDIRECT("売上!" & ADDRESS(2, 2)) * INDIRECT("在庫!" & ADDRESS(2, 2))

ADDRESS(2, 2)が”B2″というセルのアドレスを返します

INDIRECTを使って「売上!B2」と「在庫!B2」のセルの値を取得し、これらを掛け合わせています

セルの位置をプログラム的に指定し、異なるシートにあるデータを柔軟に参照することが可能になります

スポンサーリンク

クリックしてジャンプ