• 作成日 : 2025年9月22日

スプレッドシートで掛け算をするには?基本から応用関数まで

Googleスプレッドシートでの掛け算は、売上や在庫、原価、利益計算など実務に欠かせない操作です。基本の「*」演算子から、PRODUCT・SUMPRODUCT などの関数、配列計算や行列演算まで使いこなすことで、複雑な業務計算を効率化できます。

この記事では、初心者でも理解しやすいように、基礎から応用関数まで掛け算の方法を整理して解説します。

スプレッドシートで掛け算をする基本的な方法

アスタリスク(*)を使った基本的な掛け算

スプレッドシートで最も基本的な掛け算の方法は、アスタリスク(*)記号を使用することです。計算結果を表示したいセルに「=」を入力し、続けて掛け算したい値や セル参照をアスタリスクでつなぎます。たとえば、「=5*3」と入力すると15が表示され、「=A1*B1」と入力するとA1セルとB1セルの値が掛け算されます。

セル参照を使った掛け算は、データが変更されても自動的に再計算される利点があります。単価が入力されているA列と数量が入力されているB列があり、C列に金額を計算する場合、C1セルに「=A1*B1」と入力し、この数式を下方向にコピーすることで、各行の金額が自動計算されます。データの更新があっても、即座に結果が反映されるため、常に最新の計算結果を維持できます。

複数の値を連続して掛け算することも可能です。「=A1*B1*C1」のように、3つ以上の値を掛け合わせることができます。たとえば、長さ×幅×高さで体積を計算したり、単価×数量×割引率で割引後の金額を計算したりする場合に使用します。括弧を使用して計算の優先順位を制御することも重要で、「=(A1+B1)*C1」のように、加算を先に行ってから掛け算を実行することもできます。

固定値と相対参照を組み合わせた掛け算

実務では、すべての行に同じ値を掛ける必要がよくあります。たとえば、税率や為替レートなど、固定された値をすべてのデータに適用する場合です。この場合、絶対参照($記号)を使用することで、効率的な計算が可能になります。

消費税を計算する例を考えてみましょう。A列に税抜き価格があり、E1セルに税率(1.1)が入力されている場合、B1セルに「=A1*$E$1」と入力します。この数式をB列の下方向にコピーすると、A列の各値にE1の税率が掛けられます。$E$1という絶対参照により、コピーしてもE1への参照は変わりません。税率が変更された場合、E1セルの値を更新するだけで、すべての計算結果が自動的に更新されます。

混合参照を使用することで、より柔軟な計算も可能です。「=$A1*B$1」のように、列または行のみを固定することができます。これは、掛け算表(九九の表)のような、行と列の組み合わせで計算結果が決まる表を作成する際に特に有用です。A列に縦の値、1行目に横の値を配置し、B2セルに「=$A2*B$1」と入力して全体にコピーすれば、掛け算表が完成します。

数式のコピーと自動フィル機能

掛け算の数式を効率的に適用するには、コピー機能と自動フィル機能を活用します。数式を入力したセルを選択し、Ctrl+C(MacではCmd+C)でコピーし、適用したい範囲を選択してCtrl+V(Cmd+V)で貼り付けます。この方法により、大量のデータに対して同じ計算を瞬時に適用できます。

自動フィル機能を使用する方法もあります。数式を入力したセルの右下角にある小さな四角(フィルハンドル)をドラッグすることで、隣接するセルに数式をコピーできます。ダブルクリックすると、データがある最後の行まで自動的に数式がコピーされます。これは、長いデータリストに対して特に便利な機能です。

連続した計算パターンを認識させることも可能です。たとえば、A1セルに「=B1*2」、A2セルに「=B2*3」と入力し、2つを選んでフィルハンドルをドラッグすると、「=B3*4」「=B4*5」…と係数が1ずつ増えるパターンで自動作成できます。この機能は、段階的に変化する係数を適用する場合に便利です。

配列数式による一括掛け算

ARRAYFORMULA関数を使用すると、範囲全体に対して一度に掛け算を適用できます。

「=ARRAYFORMULA(A1:A100*B1:B100)」という数式を入力すると、A列とB列の対応する各行が掛け算され、結果が配列として返されます。この方法の利点は、各行に個別に数式を入力する必要がないことです。

配列数式は、データが追加されても自動的に計算範囲を拡張できます。「=ARRAYFORMULA(A:A*B:B)」のように列全体を指定すれば、新しいデータが追加されるたびに自動的に計算されます。ただし、空白セルも処理対象となるため、IF関数と組み合わせて「=ARRAYFORMULA(IF(A2:A=””,””, A2:A*B2:B))」のように、空白行を除外する条件を追加することが一般的です。

より複雑な配列計算も可能です。「=ARRAYFORMULA((A1:A100+B1:B100)*C1:C100)

」のように、括弧を使用して複数の演算を組み合わせることができます。また、条件分岐を含む計算も可能で、「==ARRAYFORMULA(IF(D1:D100=”割引”, A1:A100*B1:B100*0.9, A1:A100*B1:B100))」のような条件付き掛け算も一括で処理できます。

スプレッドシートの掛け算にまつわる便利な関数

PRODUCT関数による複数値の掛け算

PRODUCT関数は、指定した範囲内のすべての数値を掛け合わせる関数です。基本構文は「=PRODUCT(値1, 値2, …)」で、個別の値、セル参照、範囲を指定できます。「=PRODUCT(A1:A10)」と入力すると、A1からA10までのすべての値が掛け算されます。

PRODUCT関数の利点は、空白セルや文字列を自動的にスキップすることです。範囲内に数値以外のデータが含まれていても、エラーにならずに数値のみを掛け算します。これにより、データにヘッダーや説明文が含まれている場合でも、柔軟に対応できます。ただし、空白セルは1として扱われるのではなく、単に無視される点に注意が必要です。

複数の範囲を指定することも可能です。「=PRODUCT(A1:A5,C1:C5,E1:E5)」のように、カンマで区切って複数の範囲を指定できます。これは、非連続なデータを掛け合わせる必要がある場合に便利です。また、個別の値と範囲を混在させることもでき、「=PRODUCT(A1:A10,2,B1:B10)」のような指定も可能です。

SUMPRODUCT関数による積和計算

SUMPRODUCT関数は、複数の配列の対応する要素を掛け算し、その結果を合計する強力な関数です。基本構文は「=SUMPRODUCT(配列1, 配列2, …)」です。たとえば、「=SUMPRODUCT(A1:A10,B1:B10)」は、A1×B1 + A2×B2 + … + A10×B10を計算します。

この関数は、売上計算で特に有用です。単価列と数量列がある場合、「=SUMPRODUCT(単価範囲,数量範囲)」で総売上を一度に計算できます。複数の商品の売上を個別に計算してから合計する必要がなく、一つの関数で完結します。在庫評価や原価計算でも、単価×数量の合計を求める場面で頻繁に使用されます。

条件付きの積和計算も可能です。「=SUMPRODUCT((条件範囲=”条件”), 値1範囲, 値2範囲)(または =SUMPRODUCT((条件範囲=”条件”)*値1範囲*値2範囲))」という形式で、特定の条件を満たすデータのみの積和を計算できます。たとえば、「=SUMPRODUCT((C1:C10=”東京”)(A1:A10)(B1:B10))」は、C列が「東京」の行のみ、A列とB列を掛け算して合計します。この機能により、SUMIFS関数では実現できない複雑な条件付き計算が可能になります。

MULTIPLY関数とその代替手段

Googleスプレッドシートには MULTIPLY 関数があります(=MULTIPLY(A2,B2) は =A2*B2 と同等)。複数の値や範囲の積には PRODUCT を使います。

Google Apps Scriptを使用して、カスタム関数を作成することも可能です。たとえば、特定のビジネスロジックに基づいた掛け算を行うカスタム関数を定義できます。割引計算、手数料計算、複利計算など、頻繁に使用する複雑な掛け算をカスタム関数として実装することで、数式の可読性と再利用性が向上します。

LAMBDA関数を使用した動的な掛け算も可能です。「=LAMBDA(x,y, x*y)(A1,B1) / =MAP(A1:A10, B1:B10, LAMBDA(x,y, x*y))」のように、無名関数を定義して即座に実行できます。より複雑な例として、「=MAP(A1:A10,B1:B10,LAMBDA(x,y,xy))」を使用すると、2つの範囲の対応する要素を掛け算した配列を返します。この方法は、条件に応じて異なる計算ロジックを適用する場合に特に有用です。

POWER関数による累乗計算

POWER関数は、数値を指定した回数だけ掛け算する累乗計算を行います。基本構文は「=POWER(底, 指数)」で、「=POWER(2,3)」は2の3乗(2×2×2=8)を計算します。キャレット記号(^)を使用して「=2^3」と記述することも可能です。

複利計算での活用が代表的です。元本×(1+利率)^期間という計算式で、複利での最終金額を求められます。「=A1*POWER(1+B1,C1)」という数式で、A1の元本にB1の利率でC1期間の複利計算を行います。投資計算や借入金の返済計算など、金融計算で頻繁に使用されます。

成長率の計算にも使用されます。年平均成長率(CAGR)を計算する場合、「=POWER(最終値/初期値,1/期間)-1」という数式を使用します。売上成長率、ユーザー数の増加率、市場規模の拡大率など、ビジネス分析で重要な指標を計算できます。POWER関数を使用することで、複雑な成長パターンも正確に分析できます。

PRODUCT関数とIF関数の組み合わせ

条件に応じて掛け算を行う場合、PRODUCT関数とIF関数を組み合わせます。「=IF(条件,PRODUCT(範囲),0)」という形式で、条件を満たす場合のみ掛け算を実行します。たとえば、「=IF(A1=”有効”,PRODUCT(B1:D1),0)」は、A1が「有効」の場合のみB1からD1を掛け算します。

複数の条件を組み合わせることも可能です。

「=IFS(A1=”高”,PRODUCT(B1:C1)*1.5,A1=”中”,PRODUCT(B1:C1)*1.2,A1=”低”,PRODUCT(B1:C1))」のように、優先度に応じて異なる係数を掛ける計算ができます。これは、顧客ランクや商品カテゴリーに応じた価格設定で活用されます。

配列数式と組み合わせることで、範囲全体に条件付き掛け算を適用できます。「=ARRAYFORMULA(IF(A1:A100=””,””, IF(B1:B100>100, C1:C100*D1:D100*0.9, C1:C100*D1:D100)))」という数式は、B列が100を超える場合は10%割引を適用し、それ以外は通常価格を計算します。

ROUND関数との組み合わせによる端数処理

掛け算の結果に端数が生じる場合、ROUND関数と組み合わせて適切な処理を行います。「=ROUND(A1*B1,2)」は、掛け算の結果を小数点以下2桁に丸めます。金額計算では、「=ROUND(単価*数量*税率,0)」のように、最終的な金額を整数に丸めることが一般的です。

切り上げにはROUNDUP関数、切り捨てにはROUNDDOWN関数を使用します。「=ROUNDUP(A1*B1,0)」は常に切り上げ、「=ROUNDDOWN(A1*B1,0)」は常に切り捨てます。送料計算や梱包数の計算など、端数を切り上げる必要がある場合に使用されます。

MROUND関数を使用すると、指定した倍数に丸めることができます。「=MROUND(A1*B1,5)」は、掛け算の結果を5の倍数に丸めます。価格設定で100円単位や1000円単位に揃える場合などに便利です。「=CEILING(A1*B1,10)」は10の倍数に切り上げ、「=FLOOR(A1*B1,10)」は10の倍数に切り捨てます。

MMULT関数による行列の掛け算

MMULT関数は、2つの行列の積を計算する高度な関数です。基本構文は「=MMULT(行列1, 行列2)」で、数学的な行列演算を実行します。第1行列の列数と第2行列の行数が一致している必要があります。

実務での応用例として、複数の商品×複数の店舗の売上計算があります。商品単価の行列と各店舗の販売数量の行列を掛け算することで、店舗別の売上を一度に計算できます。「=MMULT(単価行列,TRANSPOSE(数量行列))」のように、TRANSPOSE関数と組み合わせて行列の向きを調整することも可能です。

ポートフォリオ分析でも活用されます。資産配分の比率と各資産のリターンを行列として扱い、MMULT関数で期待リターンを計算します。リスク分析では、共分散行列との掛け算により、ポートフォリオ全体のリスクを評価できます。このような高度な分析が、スプレッドシート上で簡単に実行できます。

FACT関数による階乗計算

FACT関数は、指定した数の階乗(その数以下のすべての正の整数の積)を計算します。基本構文は「=FACT(数値)」で、「=FACT(5)」は 5×4×3×2×1=120 を返します。

組み合わせや順列の計算で使用されます。nCr(組み合わせ)は「=FACT(n)/(FACT(r)*FACT(n-r))」で計算できます。在庫の組み合わせパターン、チーム編成の可能性、製品バリエーションの数などを計算する際に活用されます。

確率計算でも重要な役割を果たします。二項分布やポアソン分布などの確率分布の計算で階乗が必要になります。品質管理での不良品発生確率、需要予測での確率モデル、リスク評価での事象発生確率など、様々な分析で使用されます。COMBIN関数やPERMUT関数と組み合わせることで、より複雑な確率計算も可能です。

スプレッドシートの掛け算は複雑な数式にも活用できる

Googleスプレッドシートの掛け算は、単純な「=A1*B1」から始まり、PRODUCTやSUMPRODUCTでの積和計算、ARRAYFORMULAやMMULTによる一括処理・行列計算まで幅広く対応します。業務では単価×数量の売上計算や、割引・税率を組み込んだ複雑な数式にも活用できます。

Googleスプレッドシートでも LAMBDA や MAP を使って動的な掛け算が可能です。正しい構文を理解し、ROUNDやIFなどと組み合わせれば、ビジネスの精度と効率を大きく高められます。


※ 掲載している情報は記事更新時点のものです。

※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

関連記事