本ページはプロモーションが含まれています

Excel

第2回:Excel 見積書 自動化の基礎 | FILTER・VSTACK・HSTACKで明細を整理

 Excelで見積書を作成すると、材料などの明細が増えるにつれて表が複雑になり、必要な情報を探すのが大変になります。
そんなときに役立つのが FILTER関数 です。条件に合うデータだけを抽出できるため、見積の内訳をすっきり整理する第一歩になります。

 さらに、抽出した複数のリストを VSTACK関数 で縦に積み上げ、HSTACK関数 で横に並べれば、明細表を自動で整形することが可能です。
コピー&貼り付けや複雑なマクロを使わなくても、最新のExcel関数だけで「見積明細の整理」ができるのは大きなメリットです。

👉 この仕組みを理解しておくと、次回の「関数による見積書自動化完成」へスムーズに進めます

関連記事

👉 完成版は BOOTHショップ 「P!rosh Lab」 にて公開中です。
[BOOTHショップはこちら]

FILTER関数の基本

 FILTER関数は「条件に合うデータだけを抽出する」ための新しい関数で、見積明細の整理に直結します。まずはこの基本を押さえることが重要です。

概要

  • 役割:指定した条件に一致するデータだけを抽出
  • 従来との違い:オートフィルターのように手動操作せず、数式で自動抽出できる
  • 対応バージョン:Microsoft 365、Excel 2021以降

構文

=FILTER(配列, 条件, [一致しないときの値])
  • 配列:抽出元となるデータ範囲
  • 条件:抽出条件(TRUE/FALSEで評価される式)
  • 一致しないときの値:条件に合うデータがない場合に返す値(省略可)

基本例

例えば、A列に「地域」、B列に「売上」がある場合

=FILTER(A2:B10, A2:A10="東京", "該当なし")

👉 「地域」が「東京」の行だけを抽出し、該当がなければ「該当なし」と表示。

応用例

  • 数値条件:数量が1以上の明細だけを抽出 =FILTER(A2:D20, D2:D20>=1, "該当なし")
  • AND条件(かつ):地域が「東京」かつ売上が100以上 =FILTER(A2:B20, (A2:A20="東京")*(B2:B20>=100))
  • OR条件(または):地域が「東京」または「大阪」 =FILTER(A2:B20, (A2:A20="東京")+(A2:A20="大阪"))

見積書での活用イメージ

  • 数量が0の明細を除外 → FILTERで必要な行だけ抽出
  • 特定の顧客や案件だけを表示 → 条件を顧客名に設定
  • 抽出結果をVSTACKで積み上げ、HSTACKで合計列を追加 → 明細表が自動整形される

まとめ

  • FILTER関数は「条件抽出」を自動化する基礎関数
  • 見積書の明細整理では「不要な行を除外」する第一ステップに最適
  • この理解が次の VSTACK/HSTACK へつながる

VSTACK関数の基本ポイント

 VSTACK関数は「複数の範囲や配列を縦方向に積み上げて1つの表にまとめる」ための新しい関数です。Excel見積書の明細整理に欠かせない基礎機能です。

  • 意味:Vertical(縦)+ Stack(積み重ねる) → 縦方向に結合
  • 構文=VSTACK(範囲1, 範囲2, …)
    • 引数に指定した範囲を順番に下へ積み上げて結合
  • 動作スピル関数なので、結果は自動的に複数セルに展開される
  • 対応環境:Microsoft 365、Excel 2024、Web版Excel
  • 制約:列数が一致していないと #N/A エラーが出る

利用シーン

  • 部署ごとの売上表を縦にまとめて「全社一覧」を作成
  • 月ごとのリストを積み上げて「年間データ」に整理
  • FILTER関数と組み合わせて「条件に合うデータだけを縦に結合」
  • 別シートにある複数の表を一つに統合して最新状態を自動反映

実例

例えば、A2:C4 に「材料費」、E2:G4 に「工数費」がある場合

=VSTACK(A2:C4, E2:G4)

👉 材料費と工数費の表を縦に結合し、1つの一覧表として表示。

まとめ

  • VSTACKは「縦方向に結合」する新関数
  • 複数の範囲を一瞬で統合できるため、コピー&貼り付けやマクロ不要
  • FILTERやSORTなどと組み合わせると、見積明細や売上データの整理に非常に便利

HSTACK関数の基本ポイント

VSTACKが「縦方向に積み上げる」のに対して、HSTACKは「横方向に並べる」ための関数です。
Excel見積書の明細整理で「合計列」や「補足情報列」を追加する際に役立ちます。

  • 意味:Horizontal(横)+ Stack(積み重ねる) → 横方向に結合
  • 構文=HSTACK(範囲1, 範囲2, …)
    • 引数に指定した範囲を順番に右へ並べて結合
  • 動作スピル関数なので、結果は自動的に複数セルに展開される
  • 対応環境:Microsoft 365、Excel 2024、Web版Excel
  • 制約:行数が一致していないと #N/A エラーが出る

利用シーン

  • 明細表の右側に「合計列」や「消費税列」を追加
  • 部署ごとの売上を横方向に並べて比較
  • FILTERで抽出した結果に「補足情報列」を追加
  • 複数の計算結果を横並びにして一つの表にまとめる

実例

例えば、A2:A4 に「品目」、B2:B4 に「単価」、C2:C4 に「数量」がある場合

=HSTACK(A2:A4, B2:B4, C2:C4)

👉 品目・単価・数量の列が横方向に結合され、1つの表として表示されます。

さらに「合計列」を追加するなら

=HSTACK(A2:A4, B2:B4, C2:C4, B2:B4*C2:C4)

👉 品目・単価・数量に加えて「合計(単価×数量)」列が右側に追加されます。

まとめ

  • HSTACKは「横方向に結合」する新関数
  • 複数の列を一瞬で統合できるため、コピー&貼り付けや手動計算不要
  • VSTACKと組み合わせると「縦に積んで横に合計を追加」という見積書の整理に直結

まとめ

 この記事では、Excelの HSTACK / VSTACK と FILTER関数 を使って、見積の明細を自動で整理する方法をご紹介しました。
複雑な表も、縦横に結合して条件抽出すれば『すっきり』整形できます。

👉 この仕組みを理解していないと、次回の「関数による見積書自動化完成」には進めません。
次回はいよいよ、材料費など複雑な要素を関数で整理し、最終的に見積書を自動作成できる仕組みをご紹介します。

あなたの業務でもすぐ応用できるヒントが見つかります。ぜひ続けてご覧ください。

スピル関数とは?

スピル関数(Spill Function) とは、Excelで新しく導入された「動的配列関数」の一種で、1つの数式を入力すると、その結果が複数セルに自動的に展開(スピル)される仕組みのことを指します。

特徴

  • 自動展開:数式を1セルに入力すると、結果が必要な範囲に自動的に広がる
  • 範囲指定不要:従来のように「Ctrl+Shift+Enter」で配列数式を確定する必要がない
  • リアルタイム更新:元データが変わるとスピル結果も即座に更新される
  • エラー表示:展開先に他のデータがあると #SPILL! エラーが出る

代表的なスピル関数

  • FILTER:条件に合うデータを抽出
  • SORT:データを並べ替え
  • UNIQUE:重複を除いてユニーク値を抽出
  • SEQUENCE:連続した数列を生成
  • VSTACK / HSTACK:複数範囲を縦横に結合

👉 これらはすべて「スピル関数」で、結果が複数セルに広がります。

実例

A2:A6に「東京, 大阪, 東京, 名古屋, 東京」と入力してある場合

=UNIQUE(A2:A6)

結果は自動的に複数セルに展開され、
「東京」「大阪」「名古屋」が縦に並んで表示されます。

まとめ

  • スピル関数=動的配列を返す関数
  • 1セルに入力するだけで結果が複数セルに広がる
  • FILTERやVSTACKなど、見積書自動化に欠かせない関数はすべてスピル関数

-Excel