- ベストアンサー
エクセルで数字の自動入力について
すみません。 現在、仕事でエクセルに自動で番号が振られていくシートを作りたいと思っています。 エクセル 2003 OS WINDOWS VISTA A1のセルから始まる表で例えばG1に"済”か”未"の文字が入力されるとA1のセルに『1』G2に入力されるとA2には『2』という具合に G列に文字が入力されると自動でA列に数字が入力される、という設定にしたいのです。 IFやVLOOKUPで挑戦してみましたが、いまいちうまくいきません。。。 どなたか、お詳しい方がいらしたらご教示お願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
IF関数を使えば出来ますよ。 私の考える範囲では大きく分けて2種類考えられます。 1)G列に「文字」が入力された場合にA列に数字を表示する。 [=IF(ISTEXT(G1),1,"")] IF関数の説明は割愛します。 ISTEXT関数は対象のセル(例はG1)に文字が入力されているかどうかを判定し結果を返します。 ISTEXT関数の結果文字が入力されていれば[1]を表示し、空白か文字以外であれば[""]空白文字を返します。 上記方法だとコピーした時に表示したい数字を入力(例の1の部分)しなおさなければいけないのですが、表示したい番号が行番号を元に計算できるのであれば、下記方法で対応できます。 [=IF(ISTEXT(G2),ROW(),"")] ROW関数は指定された範囲の行番号を返す関数ですが、上記例の様に範囲を指定しない(引数を省略)すると、関数が入力されているセルの行番号を返します。 上記例だと[2]が表示されますが、[ROW()-1]とすれば[1]を返します。 つまり、表示したい数と行番号の差分、引いてあげればよいと言うことです。 2)G列に「未」か「済」が入力された場合にA列に数字を表示する。 [=IF(OR(G3="未",G3="済"),3,"")] ISTEXT関数をOR関数に置き換えました。 OR関数は指定さてた式の何れかが正しい場合に真(TRUE)、何れも正しくない場合は偽(FALSE)を返します。 上記の様にすることで、セルG3に「未」か「済」のどちらかが入力されたことを判断します。 上記方法だと先の(1)の時と同じでコピーした時に数字を入力しなおさなければいけないので、下記例の様にROW関数で手間を省く事が出来ます。 [=IF(OR(G4="未",G4="済"),ROW(),"")] ROW()関数の部分は色々工夫する事で様々な表示を行う事が出来ます。 例えば、セルA1に[A1]と表示させたければ、["A"&ROW()]とすれば良いです。 また、セルA3を基準に、セルA3が[1]、セルA4が[2]、以降[3][4][5]と続けたい場合は、それぞれのセルに[ROW()-2]と言う同じ式を入力することで実現できます。
その他の回答 (3)
- ts3m-ickw
- ベストアンサー率43% (1248/2897)
A1=IF(G1="済",ROW(),IF(G1="未",ROW(),"")) A2以降はA1セルのコピーを入れておきます。 提示された条件にはマッチしていますが、果たしてこれでいいのかどうか‥‥。
- gyouda1114
- ベストアンサー率37% (499/1320)
こんなことですか、 =IF(COUNTA(G1:G2)<1,"",IF(AND(G2="",OR(G1="済",G1="未")),1,IF(AND(G1="",OR(G2="済",G2="未")),2,""))) G1及びG2何れも空白の時は、空白,G2が空白でG1に済又は未と入力された時は、1 G1が空白でG2に済又は未と入力された時は、2 それ以外の時は、空白とする。
- dogsiva
- ベストアンサー率32% (92/279)
たとえば G1に「済」と入っていたらA1に「1」と入れるようにするには セルA1に「=if(g1="済",1,"")」でよろしいかと存じます。 G1が「空白以外のセル」ということでしたら 「=if(isblank(g1),"",1)」に、 数字のところを現在の行数にしたいようでしたら 「「=if(isblank(g1),"",row())」でよいと思います。 なんとなく、Kashiroさんはもう少し違うものを求めているような気がしますが・・・、 もしもっと詳しいことがわかれば、もう少し違うことも回答できるかもしれません。
お礼
kouji_124様 ありがとうございます。 私の拙い説明に対し非常にご丁寧にご教示頂きましたため、素人でもとても分かりやすく理解できました。 本当にありがとうございます。 ご回答頂いた皆様方もこの場をお借りしてお礼をさせてくださいませ。とっても助かりました。