営業事務のExcel便利手帳

とにかく面倒くさがりの私が、日々の業務を効率化しようと奮闘したExcel便利メモです

いろいろな重複チェック

 重複チェックの方法を3つ紹介します。

 場面に応じて、それぞれの方法を選択してくださいね。

 

①条件付き書式を使う

 下記の表があります。例えば仕入先から得た情報を、今後どんどん追加していく予定のものです。誤って仕入先から同じデータが送付されてきたとき、気づけるようにしたいです。

f:id:SaSa_KenTa1:20210202102113p:plain

設定したい箇所を範囲選択し(今後増えていくので、列全体を選びます)、「ホーム」タブから、「条件付き書式-セルの強調表示ルール-重複する値」を選択

f:id:SaSa_KenTa1:20210202102758p:plain

プルダウンで書式は選べます。ここではデフォルトのまま「OK」を押します。

f:id:SaSa_KenTa1:20210202103047p:plain

試しに12行目に、11行目と同じ値を入力してみます

f:id:SaSa_KenTa1:20210202103242p:plain

重複している値が強調表示されました。

 ちなみにExcel2007以降であれば色フィルタが使えるので、重複していたデータだけを抽出することが可能です。

 

②ツールを使う

  いちばんシンプルで簡単なのがこの方法。

 さきほど追加した12行目は残したまま、同じデータを使います。

f:id:SaSa_KenTa1:20210202103905p:plain

表内の任意の場所を選択した状態で、 「データ」タブから、「重複の削除」をクリックします。

f:id:SaSa_KenTa1:20210202104041p:plain

シリアルNo.にだけチェックを入れて「OK」を押します。

f:id:SaSa_KenTa1:20210202104329p:plain

12行目に追加していた重複の値が削除されました。

ただし、この方法だと容赦なく重複データが削除されてしまうので、どれが重複していたのかがわからなくなります。

 

③数式を使う

 条件付き書式が便利なので、わざわざ数式を使う場面があまり思いつかないですが、参考までに。

f:id:SaSa_KenTa1:20210202105544p:plain

空いているC列に、チェック表示する列を用意します。

数式はこれ。

=IF(COUNTIF(B:B,B2)>1,"重複","")

 B列に、B2と同じデータが2以上((>1)または(>=2)でも)あれば”重複”と表示させるIF文です。

f:id:SaSa_KenTa1:20210202105912p:plain

11、12行目に無事「重複」と表示されました!

 思ったとおりの結果が出ると嬉しいです。

気づかぬうちにデータが重複しているとなかなか厄介なので、うまく処理していきましょう。

 

 

枝番をつけたい

 受発注業務でもなんでも、今どきほとんどが専用システムなので、勝手にユニークNo.が振られて管理されると思います。

 そしてほとんどがデータをCSVExcel形式でDL可能だと思います。

 ただ、ときどき、枝番がついていないことがあります。たとえば受注番号や、客先注文番号。

 同じ番号で複数明細の注文をいただいた場合、伝票1件で1番号の処理のため、例えば下記のようなデータになります。

 

受注No. 商品コード 商品名 数量 単価 金額
123456 N001 ノートPC 10 50,000 500,000
123456 D002 デスクトップPC 10 40,000 400,000

 

 いや、今どきのシステムはほとんどの場合自動的に枝番付与されると思うんですが、もしついていなかった場合に、自分で振る方法です。

 

 =COUNTIF(INDIRECT("A2:A"&ROW()),A2)

 数式はこれ。

 受注No.の隣(B列)に項目「明細No.」を挿入して、この数式を入れると

f:id:SaSa_KenTa1:20210129100133p:plain

明細No.挿入

こうなります。


 枝番として表示するなら↓

 =A2&"-"&COUNTIF(INDIRECT("A2:A"&ROW()),A2)

受注No. 明細No. 商品コード 商品名 数量 単価 金額
123456 123456-1 N001 ノートPC 10 50,000 500,000
123456 123456-2 D002 デスクトップPC 10 40,000 400,000

 

 分解していくと、「COUNTIF」でA列(受注No.)に、その行のNo.と同じものがいくつあるかを数えます。

「=COUNTIF(A:A,A2)」

 これだと2つあるので「2」と表示されてしまいます。

 なので、範囲をA2から、その行まで(2行目であればA2まで)としたいです。

 そこで

INDIRECT(参照文字列,[参照形式]」を使います。

 指定したい範囲はA2からAの○行目まで、なので、「A2:A」は固定です。

 行番号を「ROW()」で指定します。

※「A2:A」は文字列なので、表を移動させた際、ずれてしまうので注意が必要です。

(参照文字列を表外に用意して、そこを参照させる形にすれば、移動した場合に修正が1箇所で済みます)

 

  この数式なら、データがいくつあっても枝番が簡単に付けられます。

受注No. 明細No. 商品コード 商品名 数量 単価 金額
123456 123456-1 N001 ノートPC 10 50,000 500,000
123456 123456-2 D002 デスクトップPC 10 40,000 400,000
234567 234567-1 N001 ノートPC 8 50,000 400,000
345678 345678-1 N001 ノートPC 4 50,000 200,000
345678 345678-2 M003 モニタ 10 20,000 200,000
345678 345678-3 D002 デスクトップPC 4 40,000 160,000
456789 456789-1 N001 ノートPC 3 50,000 150,000
567890 567890-1 N001 ノートPC 1 50,000 50,000
567890 567890-2 D002 デスクトップPC 1 40,000 40,000
567890 567890-3 M003 モニタ 1 20,000 20,000
567890 567890-4 M003 モニタ 1 20,000 20,000
678901 678901-1 N001 ノートPC 5 50,000 250,000

 

 もしよかったら使ってみて下さい!

 

はじめに

雇用形態に関わらず、複数の会社で営業事務(一般事務等含む)に従事してきた私が
日々のExcel作業で「これができたらいいのに…!」と思うことを
ひとつずつ、形にしてきました。
うまくいったときの喜びはひとしお! みんなにシェアしたい!
基本的なことばかりですが、Excelは使う人の発想力も大事だったりします。
文系の私がExcelを楽しめるようになったのは、
イメージを形にできたから。

つまづくこともありますが、根気よくやれば結果が出ます。
根気がなくても、数式をコピペすればいいんです。

何度も同じことをやるのがめんどくさい!
ボタンひとつでぱぱっとできないの?!
と、VBAにも少し手を出しました。

ひとつでも、お役に立てば嬉しいです。