• ベストアンサー

エクセル 関数(重複)について教えて下さい!

会社での作業も、皆様から 関数を教えていただいて 何十倍もの早さになり、ありがたく感謝しながら作業しております (人^▽^) ただいま又、問題発生中・・・・ (u_u) 下の表で、5・6列の『番号表』を参考に、 3列に 番号をつけています。 『今は』を含む単語が重複して登録されており、 私の知りうる関数では、 3列の番号が、2つになってしまいます。 言葉&配列を変えずに、 3列に関数で 何とか番号がつきませんでしょうか? ご回答、心から 楽しみにお待ちしております。

  • p1_1q
  • お礼率95% (39/41)

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 一例です。 今回の場合は単語(検索語句)の文字数によって結果が左右されますので E・F列の表はE列の文字数の降順(多い順)に並べておきます。 VBAの方が簡単だと思いますが、以前の質問で関数がご希望だったようなので関数でやってみました。 質問通りの配置とします。 C3セルに =IF(COUNTIF($E$4:$E$6,LEFT(B3,4)),VLOOKUP(LEFT(B3,4),$E$4:$F$6,2,0),IF(COUNTIF($E$4:$E$6,LEFT(B3,2)),VLOOKUP(LEFT(B3,2),$E$4:$F$6,2,0),"")) (エラー処理はしていません) としてオートフィルで下へコピーではどうでしょうか? ただ、実際問題としてE・F列のデータはもっとあるのではないかと思います。 もしそうであればVBAの処理が良いかもしれませんね。 そこで余計なお世話かもしれませんが、VBAでの一例も一緒に載せておきます。 これもE・F列の表はE列文字数の降順にしておきます。 Sub test() Dim i, j As Long For i = 3 To Cells(Rows.Count, 2).End(xlUp).Row For j = Cells(Rows.Count, 5).End(xlUp).Row To 4 Step -1 If Left(Cells(i, 2), Len(Cells(j, 5))) = Cells(j, 5) Then Cells(i, 3) = Cells(j, 6) End If Next j Next i End Sub こんな感じではどうでしょうか?m(__)m

p1_1q
質問者

お礼

tom04さん! いつも、本当にありがとうございます (^一^)人 ご即効の回答、感謝しております。 早速、教えて頂いた カウントイフ、レフト、ブイルックアップ関数で 試してみましたら、 なんと!またまた、みごとに 数字が表示されました q(^▽^o)p 会社のみんなも喜びます。明日が楽しみです♪ こちらの関数も、大切に使わせていただく事は言うまでもありません。 感謝でいっぱいです。 今から マクロに挑戦ーーーっ(・▽・)ノ それでは、一旦 失礼します。

p1_1q
質問者

補足

お~~っ (*^o^*) tom04さん、 VBAで できました! d(≧▽≦)b マクロって、いっぺんにできるし(コピーして貼り付けさせて頂いてるだけでスミマセン・・・)、 関数のように あきらかには見えないだけに、 魔法使いになった気持ちがして 気持ちいいですね~★(しつこい魔法使い) 私の会社での マクロ禁止令を覚えていてくださったばかりか、 今までの 質問の傾向を考えて頂いてのご回答、 お心遣いにも感激しております  m(u_u)m *** 心から、ありがとうございました ***

関連するQ&A

  • エクセルの関数を 教えてください。

    関数の初心者で、いくつか教えていただき勉強しましたが、 応用が利かず、調べても分からないので、質問させていただきました。 どうか、よろしく お願いします。 2列の『旧 語録』の文に、 5列の『単語表・旧』が含まれていれば、 その単語だけが、 5列の右隣の、6列の『単語表・改正後』に変わり、 3列の『改正後の語録』のような文になるようにしたいのです。 5&6列の『単語表』の配列は変えずに、 関数で どうにかなるでしょうか? 回答を、心から お待ちしております。

  • エクセル関数の検索・抽出・置換えについて質問です。

    以前 質問して、 素晴らしいマクロを教えて頂きました。 仕事が早くでき、楽しくなってきたところ、 なんと会社で不具合があり、マクロ禁止になってしまいました・・・  Σ( ̄□ ̄) 改めて質問します! 2列の『旧 語録』の文に、 5列の『単語表・旧』が含まれていれば、 その単語だけが、 5列の右隣の、6列の『単語表・改正後』に変わり、 3列の『改正後の語録』のような文になるようにしたいのです。 5&6列の『単語表』の配列は変えずに、 関数で どうにかなるでしょうか? 回答を、心から お待ちしております。

  • エクセルで、重複するものを見付ける手順や関数は?

    例えば、エクセルのA列に 1000 1001 2010 2022   ・   ・   ・ など、完全に一致しない値を100入力するはずが、 誤って重複登録をしてしまい、総数が101になってしまった とします。 この場合、どのような手順,関数を使用して 重複しているものを見付ければ良いのでしょうか? お教え願います。

  • Excelの一覧から重複データを削除したい(関数)

    Excelに関する質問です。 表から重複するデータを削除したいのですが、 並び替えて、重複を目でみて削除するのは大変なので、 「名前」と「郵便番号」が一致するデータに「1」などの フラグを立てる関数を教えて下さい。 もしくは、表の中に「指定した郵便番号」が何個 存在するのかをカウントする関数でも結構です。 ちなみに、表はこんな感じです。 A列、B列、C列の順に 名前   郵便番号 都道府県 住所 山田一郎 630-8888 北海道 札幌市北区新川×× 山田ニ郎 001-1234 東京都 小平市×××××× 山田三郎 555-8888 鹿児島 櫻島時×××××× こんな表があって、全部で500レコードほどあります。

  • エクセル関数で重複チェック(条件付)

    表A1:B100で、 A列には1~100の数値が必ず入ります。(空白なし) B列には数値が入っているところと何も入力されていないところがあります。 B列に0以上の数値があり、A列が1でないものだけを対象として、A列の数値が重複していないかどうかをチェックするワークシート関数の組み合わせ方法をご教示ください。(VBAではありません) B列に0以上の数値があり、A列が1でないものだけのA列の数値を抜き出す作業列と、抜き出された数値をCOUNTIFで重複を調べる作業列の計2つの作業列を加えればわたしにもできたのですが、もっといい方法があるのではないかと思い質問いたしました。 よろしくお願いします。

  • エクセル関数での重複削除

    以下のようなエクセル表があったとします。       【列A】  【列B】 【行1】   1     A社   【行2】   2     B社 【行3】   3     B社  【行4】   4     C社 【行5】   5     C社 【行6】   6     C社 この表の下のほうに、【列B】の社名を重複を削除した形で一覧表示させたいのです。この例の場合ですと、              A社              B社              C社 と表示させたいのですが。。。 フィルタ機能を使って重複を削除すれば同じようなことができるのですが、今後の更新作業を楽にするため関数でやりたいのですが、可能でしょうか。 教えてください。

  • エクセルでの重複確認関数

    エクセルでの重複確認関数 場所  数字 北海道  5 東京   2 北海道  2 九州   3 東京   1  中国   3 東京   2 上記のような表があります。 数字の列が同じでなおかつ場所が一緒の時、その数字のセルに色をつけるにはどのような関数を使えばいいでしょうか? 例の場合、東京 2というのが重複しているので、その2というセルに色をつけたいのですが・・。 よろしくお願いします。

  • Excelで作成した表の中から重複している数値を知りたい

    仕事でExcelで作成した表について教えていただきたいことがあります。 項目がたくさんある表なのですが、そのなかのひとつの項目で、重複する番号がたくさんある項目があるのですが、どれが重複した番号かを知りたいのです。500行くらいになる表なので、作業が大変なのですが・・・。現在はいったん、その項目を番号順にデータの並べ替えをしてから、データの集計を行い、番号の重複している行を色分けして、またデータの並べ替えで元の行番号順に戻し、色がついている行が重複しているんだなと思いながら作業をしています。 かなりの行数なのでその作業がすごく大変です。 関数などよくわからないのですが、何か簡単にできる方法がないかなといつも考えています。 例えば、並び替えなどをせず、作成している表の横に、その項目の重複している番号を表示する、とか、そういったことができないものでしょうか? 分かりにくい書き方で申し訳ありません・・・。

  • データの重複を求める関数

    こんにちは。パソコン教室に通う主婦です。エクセルはなかなか難しいです。次の質問教えてください。 Sheet1、2の2つのデータから重複したデータ検索する関数を教えてください。 重複していたら1、そうでないと0、今後、リストのレコードに増減があっても対応できる式をSheet 3に関数であらわしたいのです。 A列には氏名、Sheet1,2のB列には郵便番号、Sheet3のB列には重複を表示したいのです。 よろしくお願いいたします。

  • 重複しない乱数表を作る関数について

    重複しない乱数表を作成したいと思います。 「=RANDBETWEEN(0,50)」では、「0~50」の範囲内で、数字が重複する乱数表ができますが、数字が重複しない乱数表を作成するには、どういう関数を使えばよいですか? 縦方向(つまり「列」)では重複しても構いません。 横方向(つまり「行」)で重複しないようにしたいのです。 つまり、「横方向に0から50までの数字51個が一通り、必ず1個ずつ出現してから、次に同じく、0から50までの51個の数字による新たな数列を、各数字が重複しないように作りたい」のです。 51個の数字による一まとまりの数列内で数字が重複していなければ、これと同じ数値配列が全く別の場所に出現しても構いません。 表の範囲は任意ですが、仮に「B7~N106」とします。 過去の回答を検索しましたが、適切なものがなかったので質問しました。 宜しくお願い致します。