EXCELで重複する値の検索方法とセルの値の返し方
- EXCELで重複する値を検索し、重複した値と同じ行の隣のセルの値を返す方法について紹介します。
- 具体的には、A列の重複を検索し、重複した場合はB列の値をC列に返す方法を説明します。
- 例えば、りんごが重複している場合、C列にはD市場、F市場の値が表示されます。
- ベストアンサー
EXCELで重複する値の検索
EXCELで重複する値を検索して、かつその重複した値と同じ行の隣のセルの値を返すということをしたいのですが、どうすればうまくいきますでしょうか。 具体的には下記のようになります。 A B C 1 りんご A市場 2 みかん C市場 3 りんご D市場 4 なし B市場 5 バナナ A市場 6 りんご F市場 上のような表があったとして、A列の重複を検索(この場合はりんごが重複)して、重複した場合はB列の値をC列に返すことをしたいんです。 希望する出力は以下のような形です。 A B C 1 りんご A市場 D市場、F市場 2 みかん C市場 3 りんご D市場 A市場、F市場 4 なし B市場 5 バナナ A市場 6 りんご F市場 A市場、D市場 よろしくお願いします。
- オフィス系ソフト
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
目的がいまいち分からないのですが、回答がつかないので、マクロで行う例を回答いたします。B列の項目をC列から除去する処理が泥臭いですが... Sub test() Dim targetRange As Range Dim targetCell As Range Dim myDic As Object Dim i As Long, j As Long Dim buf As Variant, buf2 As String Set targetRange = ActiveSheet.Range("A1").CurrentRegion Set myDic = CreateObject("Scripting.Dictionary") For i = 1 To targetRange.Rows.Count Set targetCell = targetRange.Cells(i, 1) With targetCell If Not myDic.exists(.Value) Then myDic.Add .Value, targetCell.Offset(0, 1).Value Else myDic.Item(.Value) = myDic.Item(.Value) & "," & targetCell.Offset(0, 1).Value End If End With Next i For i = 1 To targetRange.Rows.Count buf = Split(myDic.Item(targetRange.Cells(i, 1).Value), ",") buf2 = "" For j = 0 To UBound(buf) If buf(j) <> targetRange.Cells(i, 1).Offset(0, 1).Value Then If buf2 = "" Then buf2 = buf(j) Else buf2 = buf2 & "," & buf(j) End If End If Next j targetRange.Cells(i, 1).Offset(0, 2).Value = buf2 Next i Set myDic = Nothing End Sub
関連するQ&A
- エクセルで値を指定しての検索が出来ない場合の同じ値のセルをすべて抽出す
エクセルで値を指定しての検索が出来ない場合の同じ値のセルをすべて抽出する方法 エクセルのA列に上から順に A1みかん A2リンゴ A3みかん A4パイナップル A5マンゴー A6みかん A7パパイヤ A8リンゴ A9バナナ A10グレープフルーツ A11みかん A12レモン という具合に1000行くらいあって同じ値のみを抽出する方法を教えてください。 上記の場合 A1みかん A3みかん A6みかん A2リンゴ A8リンゴ という具合に表示してほしい。 同じ値の行は最大3つ(3種類×3行)、又は2つ(2種類×2行)です。 後の980行くらいはそれぞれ値が違います。 また同じ値が何で有るのかも不明です。 上記例ではみかんとリンゴですが、そうだとは限りません。 レモンかもしれないし、マンゴーかもしれない。 またその1000行の中の値の種類も何種類あるのか不明です。 最悪1000種類で重複は無いかも知れない。 よって値を指定しての検索は出来ません。 ソートして昇順にとかにすれば同じ値は上下に並びますが 実際には、みかん とかではなく英数字20ケタなので目で見ただけで 上下に並んでいるのは見つけれません。 12A3456D620X834F7623 14B63795V63879576235 167353F46856G6983639 167353F46856G6983639 16C342D374A755C65833 1000行の中からこのように上下が同じ値の行を見つけるのは難しいです。 簡単に発見する方法はありますか?
- ベストアンサー
- オフィス系ソフト
- エクセルでデータの検索
現在 sheet1に A列 B列 C列 あ い う え お と入力されています Sheet2には A列 B列 あ りんご い ばなな あ みかん う うめ い なし と入力されています。 sheet1のA列を検索条件として A列と一致するsheet2にあるものをその横の列に表示されるようにしたいです。 A列 B列 C列 あ りんご みかん い ばなな なし う うめ このような場合、一致するものは複数あるため VLOOKUPは使用できません。 どのようにすれば、このような検索ができるのでしょうか?
- ベストアンサー
- オフィス系ソフト
- 同列で重複する値の隣の列の値を表示させたい
エクセルで下記のような、A列には必ず値(品目)が入っていますが、 B列には値(価格)が入っていたり入ってなかったりする表で、 A列で重複する値がある場合、隣の列B列の値をC列に表示させるような方法はありますか? A列には品目のデータが2000行以上ありまして、B列には価格が1000程度しか埋まっておらず 出来れば関数か何かでB列の抜けた価格データを埋めたいと思っています。 職場にて使用出来るエクセルバージョンは2000です。何卒宜しくお願い致します。 (何故か空白スペースが反映されない為、……を空白として入力させて頂きました。) ………A …… B …… C 1 …みかん … 200… 2 …りんご … 100… 3 … バナナ…150… 4 …ぶどう…300… 5 …りんご… 6…メロン… 600… 7… みかん… 8 …キウイ…170…
- ベストアンサー
- オフィス系ソフト
- Excelで重複データの件数ではなく、何番目かを求める方法
下記のような表があり、A列に入っている値が重複している場合、 B列に件数を求めるにはCOUNTIF関数を使いますが、件数ではなく、 何番目かを求めることはできるのでしょうか。 A列 B列 りんご 1 りんご 2 みかん 1 りんご 3 バナナ 1 みかん 2 すみませんが、ご教授いただけたら幸いです。 宜しくお願い致します。
- 締切済み
- オフィス系ソフト
- Excelについて
Excelに下記のようなデータが入っているのですが A列 | B列 りんご | 2 みかん | 3 ばなな | 1 りんご | 6 すいか | 7 かき | 3 みかん | 4 すいか | 8 りんご | 1 *(実際には100件ぐらいのデータが入っています。) A列で同じ「りんご」があれば、同じ行にあるB列の値を合計したいのでがどうすればよいですか? また「りんご」だけでなく他にもあればその値を合計して出したいのですが。 例えば、今回の例では「りんご」が三箇所あるので「2+6+1]で9と表示したいのですが。 イメージとしては、 A列 | B列 | C列 | D列 りんご | 2 | りんご | 9 みかん | 3 | みかん | 7 ばなな | 1 | ばなな | 1 りんご | 6 | すいか | 15 すいか | 7 | かき | 3 かき | 3 | みかん | 4 | すいか | 8 | りんご | 1 | というようにしたいです。どなたか教えてください。
- 締切済み
- オフィス系ソフト
- エクセルのセル内の重複文字列処理について
よろしくお願いいたします。 セル内にスペースで区切られた文字列(単語)があり、文字列の数は不確定です。 その文字列の中で重複する文字列があり、それらを1つにまとめたいという要望です。 セルの行数は約6000ほどあります。 例 A1セル:リンゴ リンゴ みかん B1セル:リンゴ みかん A2セル:みかん バナナ みかん バナナ みかん B2セル:みかん バナナ ・・・ よろしくお願いいたします。 Windows7 HomePremium Office2010
- ベストアンサー
- その他MS Office製品
- エクセルで指定列を文字列検索、そして値を代入
はじめまして。 エクセルが得意な方よろしくお願いします。 文字列を検索して、違うセルにその文字列から置き換えをしたデータを表示させたいです。 例えば A列に品名が入っています。(りんご、みかん、なし・・・・) B列にその品名の価格が入っています。(100、200、300・・・・) C列に品名が型番とともに複数書いてあります。 (りんご-01、みかん-01、りんご-02、なし-01、、、) C列の文字列を検索して、A列に記載した文字列と適合した場合、D列にB列の価格を表示させる。 このような検索置き換え?はSUBSTUTEで出来そうでしたが、上手くいきません。 説明がなかなか上手く伝えられず申し訳ないです。 おわかりの方、よろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- エクセルVBA
1ブック A列 B列 みかん 105 りんご 150 バナナ 198 2ブック A列 D列 みかん 105 りんご 150 バナナ 198 2ブックのA列が1ブックのA列と同じ値なら1ブックのB列の値を2ブックのD列に反映させたいのですが、どうしたら良いでしょうか。 A列の値を基準にB列だけでなく、他列も抽出したいのですが…。 宜しくお願いします。
- ベストアンサー
- Excel(エクセル)
- エクセル 重複数字の書き換えについて
シート1のA列に番号(重複番号あり) B列に項目。シート2のA列に番号(重複番号なし) B列に項目。シート2の順番を正としてシート1のA列重複番号をVBAで書き換えるには、どうしたらよろしいか。 【シート1】 【シート2】 【シート1】 1 りんご 1 バナナ 3 りんご 2 バナナ 2 すいか 1 バナナ 2 バナナ 3 りんご ⇒ 1 バナナ 2 バナナ 1 バナナ 3 すいか 2 すいか
- ベストアンサー
- Excel(エクセル)
- Excelでの文字列とりだしについて
Excel(version2013)について質問です。 ある文字列を検索範囲内で検索し、みつかった場合、 その文字列を返すようにしたいです、どのような関数を使えば宜しいでしょうか。 例えば下記A列に検索したいリスト(りんご、ばなな、ぶどう)があり、 検索したい範囲がD1~E5とします。 その場合、B列に関数を使った式を入れ、 りんご、ばなな、空文字、りんご、ぶどうと並ぶようにしたいです。 どのような関数を使えば宜しいでしょうか。 A B C D E 1 りんご (式) りんご みかん 2 ばなな (式) ばなな すいか 3 ぶどう (式) すいか みかん 4 (式) りんご すいか 5 (式) ぶどう みかん
- 締切済み
- オフィス系ソフト
お礼
スクリプトを作っていただき、有り難うございます。 早速試したところ、まさに求めていたのもです!大変助かりました!