参照元の空白セルを0に変えずに取得するには?

左側の一覧を保持して値を結び付け、右側のキーも表示します。一致した空白、実際の0、未一致を区別できます。

説明図 — 参照元の空白セルを0に変えずに取得するには?
架空のデータを使った説明図です。実際の画面キャプチャではありません。

参照元の金額が空欄なら、結合した結果にも空欄のまま残せます。ただし、金額だけでは「元から空欄だった」のか「一致するIDがなかった」のかを見分けられません。右側のRefIDも表示して確認します。

架空の入力

RequestsにはC1〜C4があります。MasterのC1は金額が空欄、C2は0、C3は15です。C4はMasterに登録されていません。

表の∅は空セルを示す記号で、入力する文字ではありません。

Requests

ID
C1
C2
C3
C4

Master

RefID Amount
C1 ∅
C2 0
C3 15

設定手順

  1. Requestsを左、Masterを右に置き、同じ型のIDとRefIDをデータ接続で結びます。
  2. 「左のシートの全行を保持」を選び、C4も結果に残します。MasterのRefIDが重複していないことを確認します。
  3. ID・RefID・Amountをすべて表示します。空白に数値を入れる計算や前処理は追加しません。

説明図 — 設定手順

期待する結果

結果は4行です。C1はRefIDがC1なので一致しており、金額だけが空白です。C2の0は残ります。C4はRefIDも空白なので、Masterに一致する行がありません。

ID RefID Amount
C1 C1 ∅
C2 C2 0
C3 C3 15
C4 ∅ ∅

説明図 — 期待する結果

注意点

以前の計算やファイル出力ですでに空欄が0になっている場合、その0が元は空欄だったかどうかは判別できません。Masterのキーが重複していると結果の行数も増えるため、結合前に確認してください。この例は実際の空セルを使っています。文字として入力された'null'・'0'やスペースだけのセルとは区別します。

自分のファイルで始めましょう

JOIN SHEETを使ってみる ↗

Excel・CSVの作業はPCでご利用ください。
新しいタブで開くため、作業中のデータは置き換わりません。

サンプルの検証日:

出典

Attempting to pull data from one large data set to a smaller data set, but it is filling in "0" where the original set is blank (Reddit r/excel)

原文は大きなデータから一部を参照すると、元の空白が0になる問題です。この例は取得値と、一致したかどうかの確認を分けています。 例のデータは説明用に別途作成したもので、原文の投稿者による製品利用の感想や推薦ではありません。