参照元の空白セルを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 |
設定手順
- Requestsを左、Masterを右に置き、同じ型のIDとRefIDをデータ接続で結びます。
- 「左のシートの全行を保持」を選び、C4も結果に残します。MasterのRefIDが重複していないことを確認します。
- 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になる問題です。この例は取得値と、一致したかどうかの確認を分けています。 例のデータは説明用に別途作成したもので、原文の投稿者による製品利用の感想や推薦ではありません。