アプリ版:「スタンプのみでお礼する」機能のリリースについて

下記のようなリストがあります。
A列に新ナンバー、B列に旧ナンバーで約7000件記述されています。

新No 旧No
7  70
29  26
37  30
38  51
42  45
43  60

他のリストは下記のような感じて
同じナンバーの記述が複数行あります。

51 〇〇 〇〇 〇〇
21 〇〇 〇〇 〇〇
30 〇〇 〇〇 〇〇
99 〇〇 〇〇 〇〇
30 〇〇 〇〇 〇〇
51 〇〇 〇〇 〇〇

これを先に記述したナンバー変更表をもとに
下記のようにナンバー変更を適用したいです。

38 〇〇 〇〇 〇〇
21 〇〇 〇〇 〇〇
37 〇〇 〇〇 〇〇
99 〇〇 〇〇 〇〇
37 〇〇 〇〇 〇〇
38 〇〇 〇〇 〇〇

変更のないナンバーもあります。

どういった方法がありますでしょうか。

変更表を貼り付けて関数だけで可能でしょうか。

宜しくお願い致します。

質問者からの補足コメント

  • 解答ありがとうございます。

    規則性はありません。

    変更になったナンバーは約7000件ですが、
    変更を加える方は同じナンバーで複数回書かれているので
    数万件の変更箇所があります。

    手打ちではとても間に合いません。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/01/28 14:23

A 回答 (5件)

あぁ、でも新旧リストはVLOOKUP使うなら列を入れ替えないとダメかな。

    • good
    • 0

変更になった番号だけのリストがあるということでしょうか?



私なら、№2さんのレイアウトのように旧番号で作ってあるリストの横に新番号を入れる列を追加し、VLOOKUP関数で旧番号に対応する番号を入れていきます。
番号に変更がないものは新旧対応表に番号がないので#N/Aエラーになるかと思います。
オートフィルタでエラーだけ抽出し上から下まで選択してDELETEします。
オートフィルタを解除するとエラーだったセルが空白になりますので列をコピーして旧番号の列に、形式を選択して貼り付けで「値」を選び、□空白セルを無視するにチェックを入れてOKとすると、番号が入っているセルだけ上書きされて空白セルに対応する部分は前のデータが残るので、変更になった部分だけ更新できます。
    • good
    • 1
この回答へのお礼

できました!

下記のように変更を加えたいリストの空いてる列に
旧・新の順で貼り付けて、追加挿入したB列にてVLOOKUP関数を使いました!

A   B   C    D    E   F   G   H
No                      旧No  新No
51  「」  〇〇  〇〇  〇〇      70   7
21  「」  〇〇  〇〇  〇〇      26   29
30  「」  〇〇  〇〇  〇〇      30   37
99  「」  〇〇  〇〇  〇〇      51   38
30  「」  〇〇  〇〇  〇〇      45   42
51  「」  〇〇  〇〇  〇〇      60   43


B列に下記の通り入力し下までコピペしました。

=VLOOKUP(A2,G:H,2)

数万件でしたが、一瞬で終わりました。

新旧と見比べて合っているか確認し、
A列と新旧列を削除して完成しました。


大変助かりました!

chonamiの解答を読んで手を動かせたのでベストアンサーにします。

VLOOKUP関数いいですね。
これから活用する機会が増えそうです。

ありがとうございました!

お礼日時:2021/01/28 16:31

マクロでなら、可能です。


マクロでの変換を望まれる場合は、以下の情報が必要になります。
1.A列に新ナンバー、B列に旧ナンバーで約7000件記述されているシートのシート名。
2.上記シートのデータの開始行は2行からで、間違いないかどうか。
3.ほかのリストのシート名及びシートが複数ならすべてのシート名
4.ほかのシートのデータの開始行(1行目からか2行目から不明)
5.ほかのシートのナンバーのカラム位置(A列で間違いないかどうか)
    • good
    • 0

自分なら、



旧  新
51 38 〇〇 〇〇 〇〇
21 21 〇〇 〇〇 〇〇
30 37 〇〇 〇〇 〇〇
99 99 〇〇 〇〇 〇〇
30 37 〇〇 〇〇 〇〇
51 38 〇〇 〇〇 〇〇

のように表を加工して、
「新」
の列をコピーして同じ列に「値」として上書き貼り付けたのちに
「旧」
の列を削除します。

「新」の列は、
 XLOOKUP関数や、
 MATCH関数とINDEX関数の組み合わせ、
で値を拾うかな。

・・・

まあ、7000件ほどでも3時間もあれば手作業でも余裕で終わるんじゃないかな。
自分が手作業でやるなら、
今の並び順をどこか空いた列に入力しておき、
どちらの表も「旧番号」で並べ替える。
で、上から順に数字を書き換えて、並び順をもとに戻す。
そして作業用に入力した並び順の列の値を削除する。
    • good
    • 0

変更に規則性があれば関数で可能です



旧ナンバーに+5で、新ナンバーとか
そーいった規則性があれば、

一気にできますが、

(見た感じ規則性はなく)
適当に数字を割り振っているだけなら
手打ちです。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!