質問: excelで通し番号の行に欠番有りの番号の行を照応させる方法を教えてください。 windowsxpのoffice 2003を使用しています。 excelで以下のような表があるとします。 001 リンゴ 300円 003 みかん 150円 004 スイカ 500円 006 メロン 900円 008 プラム 400円 009 レモン 100円 一番左の列は品番のようなものです。それぞれに商品名と料金などの付随する情報があります。 現在品番は欠番があって数字が飛んでいます。これに対して、欠番のない通し番号の列を新規に作り、以下のように品番が通し番号と同じ数字の行に自動で並ぶようにしたいのです。 001 001 リンゴ 300円 002 003 003 みかん 150円 004 004 スイカ 500円 005 006 006 メロン 900円 007 008 008 プラム 400円 009 009 レモン 100円 実際には通し番号は6桁になるため、かなり膨大な量の商品があると考えてください。 当方、マクロについては詳しくありません。なるべく簡単な方法で解決できる方法がありましたらご教授ください。マクロを使った方法の場合、お手数ですがどのようにそのマクロを設定したらいいかまで具体的に1からご指導いただけるととても助かります。 よろしくお願いします。
回答: いろいろ方法はあると思いますが。ご質問の例を使って書きます。 まず、最初の欠番のある表をちょっと離れたk列あたりから作ります。 ですからkに品番、lに品名、mに価格となるようにします。(例では6行ですので表はh1からm6になります) そして、a列に001から009まで縦に番号を付けます。その後、b1セルに =if(iserror(vlookup($a1,$k$1:$m$6,1,false)),"",vlookup($a1,$k$1:$m$6,1,false))として縦にコピー、c1セルに=if(iserror(vlookup($a1,$k$1:$m$6,2,false)),"",vlookup($a1,$k$1:$m$6,2,false))として縦にコピー、d1セルに=if(iserror(vlookup($a1,$k$1:$m$6,3,false)),"",vlookup($a1,$k$1:$m$6,3,false))として縦にコピーとすればできると思いますよ