Excelで横方向にユニークな抽出を行う方法があれば教えてください。

以下、「参照シート」の内容を、「抽出シート」のような内容に修正する方法を考えています。
実行する方法があれば教えてください。

参照シート
|1|A|
|2|B|
|1|C|
|3|D|
|3|E|

抽出シート
|1|A|C|
|2|B|
|3|D|E|

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/11/18 19:30:10
  • 終了:2013/11/25 19:35:03

回答(2件)

id:taknt No.1

きゃづみぃ回答回数13537ベストアンサー獲得回数11982013/11/18 23:11:37

これは フィルタを使えばカンタンですね。

フィルタは 縦方向なので 横方向を まず 縦方向にします。

http://shikaku.biglobe.ne.jp/pc_technic/excel/03_1.html
http://excel.life.coocan.jp/index/indexcell_irekae.html

でフィルタを使って 重複分を取り除いてから

元に戻してやればいいでしょう(再度、行と列を入れ替える)

他1件のコメントを見る
id:cawbridge2013

いや、フィルタリングは手作業じゃない。

重複排除のExcel関数を使えってことだよ。

Excel関数を打つほど簡単なものはないと思うのだが、それすらめんどくさいとなるとあとは念力しかない。

2013/11/19 07:50:53
id:Borom

それはわかっています。
重複も数千・数万行にのぼる=Excelの最大列数を越えるのです。
これを横並びにコンバートすることは不可能なので。

今後データ変更を考慮して、メンテフリーで手軽な方法を探していました。
VBAでの対応を検討します。

2013/11/19 13:04:44
id:nanoha3 No.2

nanoha3回答回数53ベストアンサー獲得回数152013/11/19 18:16:06

ピボット使えば
====================
行ラベル A B C D E
1 1 1
2 1
3 1 1
====================
とかになるから、あとはA~E列の1をA~Eに置き換えて(マクロで列選択→置換を繰り返させるとか)空白詰めるような処理すれば良いのでは。
ただ、エクセルの仕様上列数が1.6万なので、それを超える処理は無理だけど。

ピボットの「データの更新」やって、それ別シートにコピペってからのマクロ実行で、3~4アクションの作業にできるかと。

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません