• ベストアンサー

Excel 列に入力のある文字列を重複なく取り出す

Excel2003を使用しています。 下記のようなデータがあったとして、 A列に入っている文字列を右のように重複なく抜き出す 方法はありますでしょうか。 そして、それを1つのセルにまとめることはできますでしょうか? 1つのセルにまとめたものは別シートに表示したいです。 できるだけ簡単な方法がよいです。 A列   欲しいデータ   表示したい形式 A-1    A-1 A-2    A-2 A-3 →  A-3     → A-1,A-2,A-3   A-1 A-2 セルを1つにまとめる方法はいくつかわかるのですが、 列から入力のあるものを取り出す方法がわかりません。 同じような質問を探していたのですが、 見つけきれなかったので、お分かりの方がいらっしゃい ましたら、お教え下さい。 明日までの期限なのですが、どうしてもうまくできずに 困っております。よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.6

#3です。 乗りかかった船なので、文字列の結合もやってみました。 E1=CONCATENATE(D1,IF(D2="","","," & D2),IF(D3="","","," & D3),IF(D4="","","," & D4),IF(D5="","","," & D5),IF(D6="","","," & D6),IF(D7="","","," & D7)) XL2003までは、式の長さは1024文字が最大だそうですので、抽出する項目が多い場合は、その範囲内で長くしてください。このIF関数と同様の作業列を作った方がすっきりしますが、この様なIF関数の使い方をしたのは自分では初めてなので、採用しました。

umi5555
質問者

お礼

ご回答ありがとうございます。 再度ご回答頂きましてありがとうございます! 関数お詳しいのですね。 お教え頂いた回答でも作成してみます。 ありがとうございました。

その他の回答 (5)

回答No.5

No.4 関数でも出きるのだか、→それを書いてはいかがでしょうか? こんなところへ質問して時間をかけているより、→調べる方が時間がかからないということを,調べる前に確信することはできないでしょう。また,親切に説明してくださる方も大勢いますので,一般論ではなく個別のケースについて早急に知りたい場合,自分で検索→勉強→理解→応用よりは,余程時間がかからないと思いますよ。 センスを磨くことが大切だと思う。→あなたは,そういったセンスを磨いているのでしょう。もう少し,別なセンスも磨くことが大切だと思いますよ。社会的に。

umi5555
質問者

お礼

ご回答ありがとうございます。 ネット検索が苦手で一通り検索して見つけれない場合は こちらでよく質問させて頂いています。 うまく質問できずに回答者様に真意を伝えきれないときも あるので、私もこれから色々と成長せねばですね(^-^) ご回答ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

関数でも出きるのだか、エクセルのキホンにあるのは、課題に対して、できれば操作で行うことである。 データーフィルターフィルタオプションの設定ー「重複するレコードは無視する」、をやってみること。 重複するレコードとはー>エクセルのシートの場合に引きなおすと、重複する行は持ってこない、という意味です。 ーー こんなところへ質問して時間をかけているより、Googleで、 「エクセル 抜き出す 重複」で照会すると http://www.eurus.dti.ne.jp/~yoneyama/Excel/jituyou/jyufuku.htm などが初めのほうにすぐ見つかる。 早くこういった照会のキーワードのセンスを磨くことが大切だと思う。 関数では上記の前半、私の言っているのは後半に解説が出ているよ。

umi5555
質問者

お礼

ご回答ありがとうございます。 お礼遅くなり申し訳ありません。 A列を入力すると表示したい形式まで、自動で表示するには 関数しかないのかなと思い、関数にこだわっておりました。 しかし、やはり関数はみつけきれなかったので、 フィルタオプションを使った重複しないリストができる方法を ネットで見つけたので、マクロを使い表示するように しました。 なかなか検索の仕方がうまくならず、したい操作にたどりつく までに時間がかかるので、回答者様のおっしゃるように センスを磨かなければですね ^^; ご回答頂きありがとうございました。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

時間が無いので概要だけ回答します。ご参考まで。 A_______B_______C_______D A-1_____1_______1_______A-1 A-2_____2_______2_______A-2 A-1_____________4_______A-3 A-3_____4_______#NUM! A-2_____________#NUM! A-1_____________#NUM! A-2_____________#NUM! B1=IF(COUNTIF(OFFSET($A$1,0,0,ROW(A1),1),A1)>1,"",ROW()) C1=SMALL(OFFSET($B$1,0,0,COUNTA($A:$A),1),ROW(A1)) D1=IF(ISERROR(C1),"",INDEX(OFFSET($A$1,0,0,COUNTA($A:$A),1),C1,1))

umi5555
質問者

お礼

ご回答ありがとうございます。 お礼遅くなり申し訳ありません。 関数がどうしても思いつかず、 フィルタオプションを使った重複しないリストができる方法を ネットで見つけたので、マクロを使い表示するように しました。 関数でもできるのですね。 今まで使ったことのない関数もあるので、 一つ一つどんな関数か調べて、今後の参考にさせて頂きます。 ご回答頂きありがとうございました。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.2

ANo.1です。 「1」だけ抜き出してもダメですね。 「2以上」についても最初の一つを抜き出す必要がありますね。 それぞれをオートフィルタで抜き出し別シートでまとめるんですかね

umi5555
質問者

お礼

ご回答ありがとうございます。 お礼遅くなり申し訳ありません。 重複のないリストの一覧を別シートに参照させたかったのですが、 うまく説明できず申し訳ありません。 関数がどうしても思いつかず、 フィルタオプションを使った重複しないリストができる方法を ネットで見つけたので、マクロを使い表示するように しました。 マクロを使った事がなく関数でどうにかならないかと思って 質問させて頂きました。 ご回答頂きありがとうございました。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.1

A1:A20にデータと仮定 1列追加しその列に =COUNTIF($A$1:$A$20,A1) オートフィルタで「1」を抜き出し、それを一つのセルにまとめる

関連するQ&A