1つだけ過去を変えられるとしたら?

シート1のA列には1から順番に番号が入っています。B列には氏名が入っています。
シート2とシート3で新たに氏名を追加した場合、自動で連番の番号を入れたいのですが、
どうすればいいでしょうか?

<シート1>
A B
01 佐藤
02 田中
03
04
05

まず、シート2に山田と入れると自動で03と入り、
A B
山田 03

次にシート3に林と入れると自動で04と入る。
A B
林 04

そして、シート1のBには山田、林が入る。

こんな感じのことをやりたいのですが、どうすればいいでしょうか。

A 回答 (2件)

>そして、シート1のBには山田、林が入る。


ひょっとして、シート2、シート3で入力した内容を
シート1の最終行以下に登録したい
と云う事でしょうか。
VBA(マクロ)の力を必要とします。
一例ですが
<シート1>
A B
01 佐藤
02 田中
<シート1>
A B
山田 =IF(A2="","",MAX(シート1!A:A)+1)

ここで、マクロのボタンを押すと
シート1の最終行の下に追加される

こういったマクロを考えます。
    • good
    • 0

こんばんは!



Sheet1の「佐藤」と「田中」はSheet1に直接入力するのでしょうか?
そうであればややこしくなりますので、Sheet2・Sheet3のデータをSheet1に表示する方法にしてみました。
同姓同名はいない!という大前提です。

↓の画像でSheet1のA2セルに
=IF(COUNTA(Sheet2!A:A,Sheet3!A:A)-2<ROW(A1),"",ROW(A1))

B2セルに
=IF(A2="","",IF(COUNTA(Sheet2!A$2:A$1000)>=ROW(A1),INDEX(Sheet2!A$2:A$1000,ROW(A1)),INDEX(Sheet3!A$2:A$1000,ROW(A1)-COUNTA(Sheet2!A$2:A$1000))))

という数式を入れA2・B2セルを範囲指定 → B2セルのフィルハンドルでずぃ~~~!っと下へコピーしておきます。

Sheet2のB2セルに
=IF(A2="","",INDEX(Sheet1!A:A,MATCH(A2,Sheet1!B:B,0)))

Sheet3のB2セルに
=IF(A2="","",INDEX(Sheet1!A:A,MATCH(A2,Sheet1!B:B,0)))

両SheetのB2セルのフィルハンドルでこちらも下へずぃ~~~!っとコピー!

これでSheet2・Sheet3のA列に氏名を入力するだけで
何とかお望みの結果にならないでしょうか?

※ 各Sheetとも「No」の列の表示形式はユーザー定義から
00
としておきます。m(_ _)m
「Excelに関する質問です」の回答画像1
    • good
    • 0

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


おすすめ情報