• ベストアンサー

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/17068)
回答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

  • Excelで数値が文字列になっています

    Excel2010で「このセルにある数値がテキスト形式か、またはアポストロフィで始まっています」という警告が表示されたりして、計算が出来ません。 打ち直ししたり、「エラーチェックルール」で「文字列形式の数値、、またはアポストロフィで 始まる数値」のチェックを外したりして計算は出来るようになります。 「表示形式を変えてもセルの中の値は変化しません。数値データは数値のまま、文字列データは文字列のままです。」とは本当ですか? 本当ならば、数字の保存形式が文字列データかどうかを確かめる方法はありますか? なお、ISNUMBERという関数ではTRUEと出ます。

  • 指定文字列の番地or行数を取得(重複あり)

    お世話になります。 以下のようなブックがあります。 ・Sheet1に大量のデータ (A1:M5000) ・Sheet2にSheet1のC列の文字列に関する重複なしのリスト(A1:A2000)(1行目は見出し) ここで、Sheet2の文字列の横のセル(B列)に、Sheet1の該当番地または行数を返したいと考えています。 ただ、重複があるため、重複があった場合は、C列、D列・・・・を使って、個別に返せれば、ありがたいのですが、 このような関数は作れますでしょうか? 方法は、Sheet2のリストの文字列の該当行数が、重複を含め分かれば、どんなやり方でもかまいません。 ご教授お願いいたします。

  • エクセルの日付の重複の除去

    エクセルの日付の重複の除去 シート1のA列に以下のように日付が入っています。 データはAの100位まで日付があります。 A列 1/1 1/2 1/2 2/1 2/1 2/2 これを同じシートのB1に以下のようにまとめて重複分を除いた形で 表示したいのです。 B1セル→1/1 1/2 2/1 2/2 各日付の間は一文字分のスペースです。 よろしくお願いします。

  • Excel 文字列の抽出

    Excel初心者です。 1つのセルに以下のデータが入力されています。 A:文字列B:文字列C:文字列D:文字列 このセルの「C:」から「D:」の間にある文字列を 他のセルに抽出する方法を教えてください。 宜しくお願いいたします。

  • エクセルである文字列をカウントしたい

    例えば、シート1のA列のセルごとに下記のいずれかの文字列が入っているとします。(文字列の1部ではなく、完全一致の文字列です。) おはよう こんにちは こんばんは そこで、シート2で上記の各文字列が記入されているセルがいくつあるか集計したいのですが、どうしたらよいでしょうか。 シート2は、A列に上記3つの文字列、B列にはそれぞれのカウント数を入れようと思っています。

  • Excelで隣り合う列にあるデータの重複チェック

    Excelで同一のシート上の隣り合う列に入力されたデータの重複チェックをする方法が知りたいです。 例:A1とB1にそれぞれデータ(長文もあり)が入っていて、それぞれのデータが重複していればC1に「重複あり」などと表示させるための数式が知りたいです。 いろいろとやってみたのですが、どうもうまく行きません。 よろしくお願い致します。

  • Excel VBAで値が重複する行を削除する

    Excel2000を使っています。 シートAに数千件のデータがあります。 シートBのE列にある文字とシートAのD列の文字が重複する場合に、シートAの重複するセルがある行を削除する(且つできれば行のデータを抜き出すVBAを作ろうと考えています。 最近VBAの初心者本をやっと理解したところで、ちんぷんかんぷんとまではいかないけど、知恵熱がでました。 仕事なので自分でなんとかすべきかと思いますが、きっかけの調べ方がまずわからない。 どなたか、解かるきっかけだけでも与えて頂けないでしょうか。とくに、別シートの値と重複する値を探す場合に何をいれるかわかればきっと道は開けると思うんですが…。 初めての質問なので、質問内容が至らなかったらもうしわけありません。

  • エクセルの重複文字の入力規制について教えてください

    エクセルのシートで複数行列を指定してそのセル範囲内に同じ文字が入力されたとき警告をだして入力できないようにしたいのですがどうしたらいいのでしょう? 一つの列の場合だと指定してCOUNTIFとIF関数で出来るようなんですが今回のような場合この方法では無理でした。 例) A1~H5のような範囲内で重複入力を規制したいです。 ご指導ください。

  • excel、重複があるかを調べたい

    関数初心者です。質問させて下さい。 excelでsheet1のAセルに文字列を入力しました。 このsheet1内はsortしフィルターをかけたので重複はありません。 1000行程の語句ですが、このsheet1内の語句を別sheetや別のexcelファイルで重複がないかを 調べたいのですが、良い方法が分かりません。 教えていただけますでしょうか。 宜しくお願いします。

  • 同列にある重複文字列のチェック方法

    Googleスプレッドシート上で同列にある文字列の重複をチェックする方法として、隣のセル(B列)に「=COUNTIF(A$2:A$999;A4)>1」と書く方法を使っています。この方法を使うとA列に重複した文字列を入力すると、重複した文字列横のB列にTRUEと表示されます。 しかしこのやり方だとA列に文字列を入力後、B列もエクセルで言うオートフィルみたいなことをしなければならず面倒なので、スクリプトで重複チェックできないものかと考えています。 ですがJavaScriptは初心者なので書き方が分からず苦戦中です。どなたか、手がかりとなるスクリプトやヒントをご教示いただけませんでしょうか。

専門家に質問してみよう