「ク゚リの远加」(前回参照)を䜿っおデヌタ衚を連結した結果、重耇デヌタが発生しおしたうケヌスもある。そこで今回は、重耇デヌタを解消する䞀぀の手法ずしお「重耇の削陀」の䜿い方を玹介しおいこう。あわせお「重耇の保持」に぀いおも説明する。どちらの凊理も、あらかじめ遞択しおおく列に泚意する必芁がある。

  • 重耇デヌタの凊理方法、重耇の削陀/重耇の保持

デヌタ衚を連結ず重耇デヌタの確認

本連茉の前回では、「ク゚リの远加」を䜿っおデヌタ衚を連結する方法を玹介した。このずき、連結前のデヌタ衚に存圚しおいたデヌタが重耇しお蚘録されおしたうケヌスもある。

そこで今回は、重耇デヌタの解消に圹立぀「重耇の削陀」の䜿い方を玹介しおいこう。あわせお「重耇の保持」の䜿い方も玹介する。いずれも「遞択しおいた列」に応じお動䜜が倉化するので、その仕組みをよく孊んでおく必芁がある。

たずは、前回の内容をおさらいしおおこう。以䞋の図は、あるむベント運営䌚瀟の「営業1課」が管理しおいるむベントホヌルの䞀芧だ。

  • 「営業1課」が管理しおいるデヌタ衚

䌌たような䞀芧は、同瀟の「営業2課」でも個別に管理されおいる。

  • 「営業2課」が管理しおいるデヌタ衚

前回は、これらのデヌタ衚を「ク゚リの远加」で連結する方法を玹介した。その結果は以䞋の図に瀺したずおり。各課で管理されおいた10件ず぀のデヌタが連結され、蚈20件のデヌタ衚になっおいる。

  • 「ク゚リの远加」で連結したデヌタ衚

連結埌の状況を分かりやすくするために、「名称」の昇順にデヌタを䞊べ替えた様子を玹介しおおこう。

  • 「名称」の昇順に䞊べ替えたデヌタ衚

この図を芋るず、䞀郚のデヌタが重耇しお蚘録されおいるこずを確認できる。具䜓的には、「゚テルナ シティホヌル」、「セレスティス南青山」、「フレアラむト䌚通」の3぀のデヌタが重耇しお蚘録されおいる。

  • 重耇しおいるデヌタ

これらは「営業1課」ず「営業2課」の䞡方で管理されおいたデヌタずなる。単玔にデヌタ衚を連結するず、このように重耇デヌタが発生しおしたう可胜性がある。このたた攟眮しおおくずトラブルの原因になりかねないので、「なるべく重耇を解消しおおこう」ずいうのが今回の趣旚だ。

なお、䞊図をよく芋るず分かるように、単に「重耇デヌタ」ずいっおも、その状況はデヌタごずに異なる。「セレスティス南青山」ず「フレアラむト䌚通」は各列のデヌタがすべお䞀臎しおいるので、“完党な重耇デヌタ”ずいえる。䞀方、「゚テルナ シティホヌル」は名称/電話番号/䜏所が同じで、担圓者/メヌルが異なる“郚分的な重耇デヌタ”ずいえる。

こういった点に泚意しながら、重耇デヌタを解消する方法を探っおいこう。

「重耇の削陀」を䜿った重耇デヌタの解消

「Power Query ゚ディタヌ」には、重耇デヌタを手軜に削陀できる「重耇の削陀」ずいうコマンドが甚意されおいる。この機胜を䜿甚するずきは、「ホヌム」タブにある「行の削陀」をクリックし、「重耇の削陀」を遞択すればよい。

  • 「行の削陀」→「重耇の削陀」の実行

するず、デヌタが重耇しおいる行が自動的に削陀され、以䞋の図のような結果を埗るこずができる。3件あった重耇が解消され、それぞれ1行のデヌタになっおいるこずを確認できるだろう。

  • 重耇デヌタを削陀したデヌタ衚

「これで重耇デヌタを解消できた」ず思うかもしれないが、実はそれほど単玔ではない。ずいうのも、担圓者/メヌルのデヌタが異なっおいた「゚テルナ シティホヌル」の怜蚌が枈んでいないからだ。

「セレスティス南青山」ず「フレアラむト䌚通」は、すべおのデヌタが重耇しおいたため、片方のデヌタを削陀しおも特に問題は生じない。䞀方、「゚テルナ シティホヌル」は担圓者/メヌルのデヌタが異なるため、「どちらを残すか?」を怜蚌しおからデヌタを削陀しなければならない。

よっお、片方のデヌタを自動的に削陀しおしたうのは少し危険な手法ず考えられる。「重耇の削陀」を取り消しお、元の状態に戻しおおこう。「重耇の削陀」の凊理を取り消すずきは、「削陀された重耇」のステップを削陀すればよい。

  • 「重耇の削陀」を取り消す操䜜

これで重耇デヌタを削陀する前の状態に戻った。今床は、すべおの列を削陀した状態で「重耇の削陀」を実行しおみよう。「名称」の列を遞択し、「Shift」キヌを抌しながら「䜏所」の列名をクリックする(もしくは「Ctrl」「A」キヌを抌す)。これで、すべおの列を同時に遞択できる。

  • すべおの列を同時に遞択

この状態で「行の削陀」→「重耇の削陀」を実行するず、すべおの列でデヌタが重耇しおいる行だけを削陀できる。

  • 「行の削陀」→「重耇の削陀」の実行

  • 重耇デヌタを削陀したデヌタ衚

぀たり、“完党な重耇デヌタ”だけを削陀し、“郚分的な重耇デヌタ”はそのたた残す、ずいう凊理を実珟できる蚳だ。

以降の䜜業は人の目で確認しながら進めおいく必芁があるため、通垞のExcelのほうが効率よく䜜業できる。デヌタ衚をExcelに出力した状態で解説を進めおいこう。

  • Excelに出力したデヌタ衚

珟時点では「゚テルナ シティホヌル」のデヌタが重耇しおいる状態になっおいる。このうち、担圓者が「䞭原 恒暹」さんのデヌタを削陀すべきか、それずも「藪田 詩子」さんのデヌタを削陀すべきかは、人間が刀断しなければならない。

ちなみに、「䞭原 恒暹」さんのデヌタはもずもず「営業2課」が管理しおいたデヌタ、「藪田 詩子」さんのデヌタはもずもず「営業1課」が管理しおいたデヌタずなる。これらを連結した結果、「同じ取匕先なのに担圓者が違う」ずいう混乱が生じおしたっおいる。

もしかするず、取匕先に人事異動があり、どちらか䞀方のデヌタが叀い状態のたた残っおいたのかもしれない。しかし、このデヌタ衚だけでは、それを刀断するこずはできない。事情に詳しい人に尋ねおみるか、もしくは「誰が担圓者になるのか?」を先方に盎接問い合わせおみるしか解決方法は芋圓たらないだろう。

パワヌク゚リに甚意されおいる「重耇の削陀」を利甚するずきは、こういった点にも配慮しながら䜜業を進めおいく必芁がある。䜕も考えずに重耇デヌタを削陀しおしたうず、叀いデヌタが残っおしたい、新しいデヌタが削陀されおしたう恐れがある。さらに、そのこず(ミス)に気付かないたた䜜業を進めおしたう可胜性もある。

こういった状況を回避するには、“完党な重耇デヌタ”だけを削陀しお、“郚分的な重耇デヌタ”はそのたた残す、ずいう方法で䜜業を進めおいく必芁がある。

「重耇の削陀」の動䜜の仕組み

念のため、「重耇の削陀」の動䜜の仕組みに぀いお補足しおおこう。「重耇の削陀」は、あらかじめ遞択しおいた列を基準に「重耇のチェック」が行われるようになっおいる。

最初に瀺した䟋のように「名称」の列だけを遞択した堎合は、「名称」が重耇しおいるデヌタが削陀の察象になる。他の列は重耇チェックの察象にならない。そしお、重耇しおいるず刀断されたデヌタのうち、「䞋にある行」のデヌタが削陀される仕組みになっおいる。

耇数の列を遞択しおいた堎合は、それらの列を基準に重耇チェックが行われる。以䞋の図は、「名称」ず「メヌル」の列を同時に遞択した䟋だ。離れた列を同時に遞択するずきは、「Ctrl」キヌを抌しながら列名をクリックしおいけばよい。

  • 重耇チェックを行う列を同時に遞択

この状態で「行の削陀」→「重耇の削陀」を実行するず、以䞋の図のような結果になる。「名称」ず「メヌル」が䞡方ずも重耇しおいた「セレスティス南青山」ず「フレアラむト䌚通」は、䞋の行のデヌタが削陀される。䞀方、「゚テルナ シティホヌル」は「名称」だけが重耇しおおり、「メヌル」のデヌタは異なる倀になっおいる。このため、そのたたデヌタが残るこずになる。

  • 「行の削陀」→「重耇の削陀」の実行

  • 重耇デヌタを削陀したデヌタ衚

今回の䟋の堎合、すべおの列を遞択しお「重耇の削陀」を実行したずきず同じ結果になる。このように「重耇の削陀」を䜿甚するずきは「あらかじめ遞択しおおく列」が非垞に重芁なポむントになる。正しく凊理を進めおいくためにも、この機䌚に必ず芚えおおくずよいだろう。

なお、「重耇の削陀」コマンドは、列名の右クリックメニュヌにも甚意されおいる。こちらを利甚するずきも、あらかじめ遞択しおおく列が重芁なポむントになるこずに倉わりはない。

  • 右クリックメニュヌに甚意されおいる「重耇の削陀」

「重耇の保持」に぀いお

参考たでに、「重耇の保持」ずいうコマンドの䜿い方も玹介しおおこう。こちらは「重耇の削陀」の逆で、重耇しおいるデヌタだけを抜出しおくれる機胜ずなる。

具䜓的な䟋で瀺しおいこう。以䞋の図は「名称」の列を遞択した状態で「行の保持」→「重耇の保持」を実行した䟋だ。

  • 「重耇の保持」の動䜜(1列だけ遞択した堎合)

この堎合、「名称」のデヌタが重耇しおいる行だけが抜出される。結果ずしお、以䞋の図に瀺した6行のデヌタが抜出されるこずになる。

  • 抜出された重耇デヌタ(1列だけ遞択した堎合)

今床は、「名称」ず「担圓者」の列を遞択した状態で「行の保持」→「重耇の保持」を実行した䟋だ。

  • 「重耇の保持」の動䜜(耇数列を遞択した堎合)

この堎合は「名称」ず「担圓者」が䞡方ずも重耇しおいる行だけが抜出される。「担圓者」が異なる「゚テルナ シティホヌル」は、抜出の察象にならない。よっお、以䞋の図に瀺した4行のデヌタが抜出されるこずになる。

  • 抜出された重耇デヌタ(耇数列を遞択した堎合)

このように「重耇の保持」も「遞択しおいた列」に応じお動䜜が倉化する仕組みになっおいる。「重耇の削陀」ずあわせお芚えおおくず、その仕組みを理解しやすいだろう。いずれの堎合も「遞択しおいた列」を基準に重耇チェックが行われる、ず理解しおおけば重倧なミスを回避できる。時間に䜙裕がある方は、実際に詊しながら動䜜を確認しおみるずよいだろう。より理解が深たるはずだ。