Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Microsoft 365)
重複の削除
投稿日時: 25/07/02 17:20:33
投稿者: periodayo

お世話になります。
 
データタブの重複の削除について、
このような事が出来るかどうか教えて頂きたいのです。
 
同じ商店名で売上日が同じ月なら、どれでもよいので1明細だけ残して削除・
 
商店  売上日
A商店  1/3
A商店  1/4
A商店  1/12
A商店  2/5
B商店  2/2
 
上記データでA商店で同じ売上日の月を重複の削除で削除したいのです。
上記ならば1行目~3行目のどれか1行を残して削除したいのです。
 

回答
投稿日時: 25/07/02 18:09:58
投稿者: sk

引用:
同じ商店名で売上日が同じ月なら、どれでもよいので1明細だけ残して削除

引用:
データタブの重複の削除について、
このような事が出来るかどうか

[売上日]列の値が異なる(重複していない)状態のままである限り、
その機能によって期待されている通りの結果を得ることは不可能です。
 
・Power Query を使用する。
 
・VBA を使用する。
 
・([売上日]の日の部分を完全に無視し、年月だけを抜き出せればよい場合)
 いくつかの関数( UNIQUE, HSTACK, TEXT など)を組み合わせた数式セルを使用する。

回答
投稿日時: 25/07/02 18:21:19
投稿者: abec

商店名&(売上日から月の情報だけ取り出し) の作業列を一つ追加して その列に対して重複の削除、でどうでしょうか。

回答
投稿日時: 25/07/03 07:07:22
投稿者: んなっと

とりあえずA,B列だけの場合の式です。よかったら試してみてください。
(実際はほかにも列があるのでしょうが、書いてないので今は無視します)
 
    A    B C    D    E
1  商店 売上日    商店 売上日
2 A商店   1/3   A商店   1/3
3 A商店   1/4   A商店   2/5
4 A商店  1/12   B商店   2/2
5 A商店   2/5          
6 B商店   2/2          
 
D1
=LET(x,A:B,a,TAKE(x,XMATCH("?*",TAKE(x,,1),2,-1)),
b,GROUPBY(TEXT(a,"yyyy/m"),INDEX(a,,2),LAMBDA(r,MIN(r)),3,0),
CHOOSECOLS(b,1,3))
 
最新の365なら
 
=LET(a,A.:.B,
b,GROUPBY(TEXT(a,"yyyy/m"),INDEX(a,,2),MIN,3,0),
CHOOSECOLS(b,1,3))

投稿日時: 25/07/03 09:56:04
投稿者: periodayo

skさん、abceさん、んなっとさん
 
無事できました、便利になりました。
 
感謝です、ありがとうございました。