- サマリ: 重複するセルのセル内データの削除
- 環境: Calc
- 状態: 未解決
- 投稿者: ooo学生C?
- 投稿日: 2013-05-11 (土) 21:12:28
質問 
こんばんわ。
重複するセルを削除することは簡単にできますが、すべてのセルを比較し、重複するセルのセル内のデータのみを削除することができません。たとえば、列1から3までのデータが”あきまへんわ”である場合、列1の”あきまへんわ”というデータは残し、のこる列2と3はブランクにする処理です。セル自体は削除しません。
1あきまへんわ → 1あきまへんわ
2あきまへんわ 2
3あきまへんわ 3
列11から15までのデータが”やってられっか”である場合、列11の”やってられっか”というデータは残し、列12から15まではブランクにする処理です。セル自体は削除しません。
11やってられっか → 11やってられっか
12やってられっか 12
13やってられっか 13
14やってられっか 14
15やってられっか 15
比較するのは一列単位で一括処理です。
重複するセルを削除する処理と似たような処理に思えますが、マクロで実現すればいいのか、データベースを利用してやるべきかと、いろいろ迷いが生じ、実現できません。簡単ですやん。という方がいらっしゃいましたら、ご教授願います。
回答 
- なにでやるか、といったことはデータの元形式やデータ量などにも関連したことなので、なかなか他の人には決めにくいことです。元データがCSVなどの場合、先にパースして処理してしまうべきです。データベースに入っているのであれば、そこで処理すべきでしょう。データサイズが大きいのであれば、表計算シートで管理すべきではないと言えます (開くのが遅かったり、データが多いとよくクラッシュするなど)。
Calc でやるのであれば、相当する機能がないようなので、マクロで書くことになると思います。シート上でソートされているのであれば、同じ項目は連続しているでしょうから、Basic で書いても比較的短いコードで済みます。そうでなければ全部チェックする羽目になります。
- 速攻で回答をいただいていたようです。いま気がつきました。ありがとうございます。こういう形で質問し回答をいただけたことで、データの扱いかたなど、参考になることがいくつかありました。今回の場合はそれほど大きなデータではなかったので、数値と文字をスプリットし、上下に隣り合うセルをIF文で比較し、真偽に応じて数値を返す。。。ような処理で、視覚上においてはなんとか実現することができました。今後ともよろしくお願いいたします。 -- ooo学生C?
感想,コメント,メモ 