・A~P列までデータあり、全て文字列
・B列、C列、K列の順に並び替え済み
・1万行くらいあります
希望の処理は、「並びの上下の行を比べて、B列とC列の値は同じなのに、K列の値だけ異なる行の並びがある場合、K列に入っている文字列の多い行だけを残し、K列に入っている文字列の長さが短かった行は削除する(空行化でもよい、ダミー文字列を入れるでもよい)
(1)B・C・Kの並びだけの例ですが、
aaa FFF kj
aaa FFF kja
の場合は、「1行目を削除」、もしくは「1行目をXXX XXX XXなどのダミー文字列と入れ替え」て、データとして1行目を無効にしたいのです。
(2)以下の場合は、C列が異なるので、処理は不要です。
bbb FFF kja
bbb FFD kj
言ってる意味が分からん…などの場合はコメントください。Excelマクロが良いのか、関数?で処理するのが良いのかも分かりません。
よろしくお願いいたします!
(処理対象のデータ、処理後のデータは、いずれもCSVでも構いません)
Q1に
if(B1=B2,if(C1=C2,if(LEN(K1)<LEN(K2),true,false),false),false)
フィルしてQの最終行だけ削除
Qで並び替えして、trueの行だけ削除
BCKで並び替え