Excelの台帳を、ほかのツールに読み込ませようとして取り込めなかったことはありませんか。筆者も同じところで詰まりました。原因は、結合したセル、1行に複数件を詰めた行、見た目のために入れた行でした。
どれも、人が読むには分かりやすい書き方です。ただ、ツールはデータベースと同じ考え方で表を読みます。この記事では、その違いを押さえてから、同じ台帳を「1行1件」に直します。
この記事で分かること
- Excelの表とデータベースの考え方の違い
- 結合セル・1行に複数件・見た目のための行が、集計をどう狂わせるか
- 崩れた台帳を「1行1件」に直す手順
- ほかのツールに読ませる前に確かめること

直したあとの「集計」シート(NG台帳とOK台帳の4つの集計がそろった状態)
どんな場面で使うか
- 取引先・備品・受注などの台帳を、Power Query や Power BI で集計したい
- 業務システムやクラウドのサービスへ移すために、Excelの台帳を取り込む
- ピボットテーブルを作ると、項目に「(空白)」が出たり、合計が合わなかったりする
- 配られた台帳を毎月集計していて、そのたびに手で直している
基本説明
Excelとデータベースの違い
Excelは、どのセルに何を書いてもかまいません。データベースは、表の形に決まりがあります。ほかのツールは、Excelの表をデータベースの決まりで読もうとします。
| Excelの表(人が見る) | データベース(ツールが読む) | |
|---|---|---|
| 1行の意味 | 自由。タイトル・小計・空白の行も置ける | 1行=1件(1レコード) |
| セルの結合 | できる | 結合という考え方が無い。各行が自分の値を持つ |
| 1つのセル | 「10、5」のように何でも入る | 多くの場合、列ごとに数値・日付・文字の型が決まる |
| 空白 | 区切りや見た目に使える | 「値が無い」という意味 |
ずれる箇所は、この4つの行に集まります。
使うデータ
サンプルファイル(記事末尾)には3枚のシートがあります。
- 「NG台帳」… 人が見やすいように作った受注台帳。手順はこのシートで進めます
- 「OK台帳」… 同じ受注8件を、1行1件で入れたもの。答え合わせに使います
- 「集計」… 2つの台帳を同じ数式で集計し、左右に並べたもの

「NG台帳」シートの元データ(A1:F16)
NG台帳は、A列が受注日、B列が取引先、C列が品目、D列が数量、E列が単価、F列が金額です。OK台帳も同じ列の並びです。
- 1行目はタイトル(A1:F1を結合)、2行目は空白、3行目が見出し
- 取引先は、同じ取引先の2行を結合している(B4:B5・B8:B9・B12:B13)
- 4行目と13行目は、1行に2件を「、」区切りで入れている
- 6・10・14行目は小計、16行目は合計、7・11・15行目は空白
「集計」シートのB列はNG台帳を、C列はOK台帳を集計しています。B列の数式は次の4つです。
=SUM(NG台帳!F:F)
=SUMIFS(NG台帳!F:F,NG台帳!B:B,"東邦商事")
=SUMIFS(NG台帳!D:D,NG台帳!C:C,"A-100")
=COUNT(NG台帳!F:F)
上から、金額の合計、東邦商事の金額、A-100の数量、金額が入った行数です。C列は、シート名を「OK台帳」にした同じ数式です。

直す前の「集計」シート(B列とC列の値が食い違っている)
B列は 155,400・16,000・6・10、C列は 51,800・22,000・19・8 です。同じ8件なのに、4つとも合いません。
ツールから見ると、何がずれているか
結合セルは、ふつうに結合すると、値が左上のセルにしか入りません。B4 は「東邦商事」ですが、B5 は空です。だから東邦商事の金額は、4行目の 16,000 しか数えられません。Power Query で読み込んだときも、結合の下のセルは null(値なし)になります。タイトル行が上にあると、それが見出しとして読まれ、ほかの列名が「Column2」のようになることもあります。
1行に複数件のセルは、ツールには1つの文字列に見えます。「A-100、B-200」は「A-100」と一致しません。「10、5」は数値ではないので、足し算にも入りません。A-100の数量が 6 になるのはこのためです。
見た目のための行は、ツールから見るとデータの行と区別がつきません。小計と合計も金額として足されるので、金額の合計は正しい 51,800 の3倍になります。Excelが範囲を自動で選ぶときは、空白の行で表が途切れます。
Excelが範囲を自動で選ぶようすを、確かめてみます。
- NG台帳の A4 を選ぶ
Ctrl+Tを押す- 「テーブルの作成」の範囲を見て、「キャンセル」を押す

NG台帳でCtrl+Tを押したときの「テーブルの作成」(範囲が $A$3:$F$6)
Excelが選んだ範囲は 6行目までです。ピボットテーブルや Power Query の「テーブルまたは範囲から」も、同じように空白の行の手前までを表とみなします。ここでは「OK」を押さず、必ず「キャンセル」で閉じます。
手順
NG台帳を、OK台帳と同じ形に直します。操作はすべて「NG台帳」シートで行います。
ステップ1 見出しより上の行を消す
- 1行目と2行目の行番号を選ぶ
- 右クリックして「削除」を選ぶ
見出しが1行目に上がり、データは2〜14行目になります。
ステップ2 結合を解除して、空いたセルを埋める
- B2:B14 を選ぶ
- 「ホーム」タブの「セルを結合して中央揃え」の▼から「セル結合の解除」を選ぶ
- B2:B14 を選んだまま、「ホーム」タブ →「検索と選択」→「条件を選択してジャンプ」を選ぶ
- 「空白セル」を選んで「OK」を押す

「選択オプション」で「空白セル」を選んだ状態
B3・B5・B7・B9・B11・B13 の6つが選ばれ、B3 が白く残ります。そのまま =B2 と入力し、Ctrl + Enter で確定します。
=B2

空白セルに「=B2」が入り、取引先が埋まった状態(B3を選択)
選んだ6つのセルに、それぞれ「1つ上のセル」を指す数式が入ります。B3 は「東邦商事」、B5 は「小計」になります。
最後に、数式を値に変えます。B2:B14 をコピーし、「ホーム」タブの「貼り付け」の▼から「値」を選びます。数式のままだと、あとで並べ替えたときに「1つ上のセル」が別の行になり、取引先が変わってしまいます。
ステップ3 小計・合計・空白だった行を消す
見た目のための行は、小計・合計・空白のどれも、受注日(A列)が空です。データの行には必ず受注日が入っているので、A列が空の行を消せば、見た目のための行だけが消えます。B列の値には頼らないので、空白の行の上にどんな行があっても同じ手順で消せます。
- A2:A14 を選ぶ
- 「ホーム」タブ →「検索と選択」→「条件を選択してジャンプ」を選ぶ
- 「空白セル」を選んで「OK」を押す
- 「ホーム」タブの「削除」の▼から「シートの行を削除」を選ぶ
4・5・8・9・12・13・14行目の7行が消えます。

小計・合計・空白だった行を消したあと(A1:F7)
データは2〜7行目の6行になります。
ステップ4 1行に複数件ある行を分ける
2行目(東邦商事・2026/10/1)を2行に分けます。
- 2行目の行番号を右クリックして「コピー」を選ぶ
- 同じ2行目の行番号を右クリックして「コピーしたセルの挿入」を選ぶ
- 2行目の C2:F2 を
A-100・10・1200・12000に書き換える - 3行目の C3:F3 を
B-200・5・800・4000に書き換える
8行目(南風産業・2026/10/5)も同じ操作で2行にし、8行目を A-100・3・1200・3600、9行目を B-200・8・800・6400 にします。

1行1件に分けたあとのNG台帳(A1:F9)
A1:F9 が、OK台帳とまったく同じ8件になりました。
ステップ5 テーブルにして、集計を確かめる
- A1 を選ぶ
Ctrl+Tを押す- 範囲が $A$1:$F$9 になっていることを確かめて「OK」を押す

直したNG台帳でCtrl+Tを押したときの「テーブルの作成」(範囲が $A$1:$F$9)
今度は、データの全行が範囲に入ります。テーブルにしておくと、行を足しても範囲が自動で伸びます。
「集計」シートに戻ると、B列も 51,800・22,000・19・8 になり、C列とそろいます。冒頭の画像がこの状態です。
例:ほかのツールに読ませる前の確認リスト
台帳を渡す前・読み込む前に、次の6つを確かめます。
| 確かめること | よくある崩れ方 | 直し方 |
|---|---|---|
| 見出しは1行だけか | タイトル行・2段の見出し | 見出しより上の行を消し、見出しを1行にまとめる |
| 結合したセルが無いか | 同じ値の行を結合 | 結合を解除し、空いたセルを埋める(ステップ2) |
| 1行が1件か | 「A-100、B-200」のように1セルに複数件 | 行を分ける(ステップ4) |
| データの行だけか | 小計・合計・空白の行 | 受注日が空の行を消し、集計は別のシートで出す(ステップ3) |
| 1つの列に同じ種類の値だけか | 数量の列に「10、5」「未定」 | 数値の列には数値だけを入れる |
| 1シートに1つの表か | 横や下に別の表を並べる | 表ごとにシートを分ける |
小計や合計が見たいときは、台帳の中に行を足さず、「集計」シートのように別の場所で数式を書きます。テーブルの集計行を使う方法もあります。小計の行を入れた見せる用の表が必要なら、台帳をコピーしたシートに入れます(表を折りたたんで見せる方法も、「シートをコピーしてから」小計を使うよう書いています)。
この手順を毎月くり返すなら、Power Query に置き換える道もあります。結合の下の null は「フィル」→「下へ」で埋まり、空白の行は「空白行の削除」で消えます。くわしくはデータクレンジング入門を見てください。
よくあるエラー
ピボットテーブルに「(空白)」という項目が出る
原因: 結合セルの下のセルや、空白の行がデータとして読まれています。
直し方: ステップ2で結合を解除して埋め、ステップ3で受注日が空の行(空白の行を含む)を消します。
合計が、手で数えた金額より大きい
原因: 小計・合計の行が、データの行と一緒に足されています。
直し方: ステップ3で、受注日が空の小計・合計の行を消します。
テーブルやピボットテーブルの範囲が、途中の行で切れる
原因: 表の途中に空白の行があります。Excelは空白の行の手前までを1つの表とみなします。
直し方: 空白の行を消してから、もう一度範囲を選び直します。
並べ替えたら、埋めた取引先がずれた
原因: ステップ2で入れた =B2 などの数式を、値に変えていません。
直し方: 並べ替えを元に戻し(Ctrl + Z)、B列をコピーして「値」で貼り付けてから並べ替えます。
まとめ
- ほかのツールは、Excelの表をデータベースと同じ「1行1件」の決まりで読む
- ふつうに結合したセルは、左上のセル以外が空として読まれる
- 1つのセルに複数件を入れると、一致も足し算もできなくなる
- 小計・合計・空白の行は、データの行と区別されない。Excelが範囲を自動で選ぶときは、空白の行で表が途切れる
- 直すときは、見出しより上の行を消す → 結合を解除して埋める → 受注日が空の行(見た目の行)を消す → 行を分ける、の順
- 小計や合計は、台帳の外で数式やピボットテーブルで出す
まずは手元の台帳で、Ctrl + T を押してみてください。Excelが選んだ範囲が台帳の全行と合わなければ、どこかに見た目のための行があります。
関連記事
- 【Excel】テーブル機能は普通の表と何が違うのか — 構造化参照と自動拡張の仕組み
- 【Excel】 結合したセルに値を入れる方法(結合を残したいときの回避策)
- 【Excel 関数】SUMIFS・COUNTIFS・配列数式、似た関数はどう使い分けるか
- 【Power Query】データ整形の手作業をなくしたいなら、Power Queryを先に学んだほうがいい理由
- 【Power Query】最初にやる5つの操作 — 手を動かして覚える入門
- 【Power Query】データクレンジング入門 — null削除・文字列統一・型変換の実践パターン
対応バージョン: Excel 2007 以降(SUMIFS とテーブルは 2007 から)
サンプルファイル
記事中で使用しているサンプルデータはこちらからダウンロードできます。
