• ベストアンサー

エクセルで数字の自動入力について

すみません。 現在、仕事でエクセルに自動で番号が振られていくシートを作りたいと思っています。 エクセル 2003 OS WINDOWS VISTA A1のセルから始まる表で例えばG1に"済”か”未"の文字が入力されるとA1のセルに『1』G2に入力されるとA2には『2』という具合に G列に文字が入力されると自動でA列に数字が入力される、という設定にしたいのです。 IFやVLOOKUPで挑戦してみましたが、いまいちうまくいきません。。。 どなたか、お詳しい方がいらしたらご教示お願いいたします。 

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

  • ベストアンサー
  • kouji_124
  • ベストアンサー率46% (283/605)
回答No.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]と言う同じ式を入力することで実現できます。

Kashiro
質問者

お礼

kouji_124様 ありがとうございます。 私の拙い説明に対し非常にご丁寧にご教示頂きましたため、素人でもとても分かりやすく理解できました。 本当にありがとうございます。 ご回答頂いた皆様方もこの場をお借りしてお礼をさせてくださいませ。とっても助かりました。

その他の回答 (3)

  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.3

A1=IF(G1="済",ROW(),IF(G1="未",ROW(),"")) A2以降はA1セルのコピーを入れておきます。 提示された条件にはマッチしていますが、果たしてこれでいいのかどうか‥‥。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.2

こんなことですか、 =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)
回答No.1

たとえば G1に「済」と入っていたらA1に「1」と入れるようにするには セルA1に「=if(g1="済",1,"")」でよろしいかと存じます。 G1が「空白以外のセル」ということでしたら 「=if(isblank(g1),"",1)」に、 数字のところを現在の行数にしたいようでしたら 「「=if(isblank(g1),"",row())」でよいと思います。 なんとなく、Kashiroさんはもう少し違うものを求めているような気がしますが・・・、 もしもっと詳しいことがわかれば、もう少し違うことも回答できるかもしれません。

関連するQ&A

  • エクセルで、欠落している数字を発見、抽出したい。

    エクセルで、欠落している数字を発見、抽出したい。 エクセル2007を使っています。 今、Sheet1のA1からA2600までに、合計2600の数字が入っています。 各数字は、「A」~「Z」の26区画のそれぞれに、「1」「2」「3」・・・「100」という風に入っています。 以下の通りです。 A 1 A 2 A 3   ・   ・   ・ A 100 B 1 B 2 B 3   ・   ・   ・ B 100   ・   ・   ・  Z 1 Z 2   ・   ・   ・ Z 100 この「A」~「Z」の26区画の中には、本来なら100個の数字が順序よく並んで入っているはずなのですが、中には、幾つかの数字が欠落している区画があります。 その、幾つかの数字が欠落している場所を見つけ、抽出したいのです。 例えば、「G」の区画で、本来なら「1」「2」「3」~「100」になっているはずなのが、「1」「2」「4」「5」~「96」「98」「99」「100」になっているとしますと、「G3」「G97」を見つけ、抽出したいのです。 できれば、その「G3」「97」を、別シートの本来の場所に自動入力できれば、助かります。 私的には、次のようにできれば、一番、有り難いです。 1.Sheet1の表から「G3」「G97」を抽出し、Sheet2にコピペする 2.Sheet2にコピペすると、Sheet3の表の、その数字がSheet1で本来入っているはずの   場所(「行」と「列」の交点するセル)に自動的に「G3」「G97」と入力される なお、「G3」「G97」は、便宜上、まとめて表記していますが、エクセルの表上では、それぞれ、別のセルに、「G」「3」、「G」「97」と、分けて入っています。 もし、「G3」や「G97」という風に、それぞれ、一つのセルにアルファベットと数字をまとめて入れる方が作業を簡単にできるのでしたら、表をそのように作り直します。 それと、場合によっては、Sheet3への入力は、自動でできなくても構いません。 自身で、手で入力します。 また、Sheet1とSheet3は、同じ仕様となっています。 不明な点は、補足質問をなさってください。 宜しくお願いします。

  • excelの自動計算について

    Excelのセルに入力された数字を自動で変換 例えばA1セルに「8」と入力した場合、自動で×10で計算して値をA1に表示する事は可能でしょうか?A列にはある物の数をカウントした数字が入るのですが、「8」の時は×10、「3」の時には×5など、数字によって×の式を変更したいのです。別の列に数式を入れたり、別の表を作成してVLOOKUPで計算したりすれば、簡単にできると思うのですが、そのような作業は無しで、できないでしょうか?ご存知のかたおられましたら教えて下さい。宜しくお願い致します。

  • Excelのマクロを使って数字を入力したいのですが、方法がわかりません。

    ExcelのG列とI列にランダムに3桁の数字を作成しました(=ROUND(RAND()の数式を使いました)。 あいだのH列には‐(ハイフン)が入力されています。 これらを別のシートの同じ列に形式を“値”と選択してコピーしました。これらの数字をB列に入力したいのです。 具体的には、たとえば、G1セルに265,H1セルに-、I1セルに849と入力されているとしたら、B1セルに265-849と入力されるように設定したいのです。 それぞれの列にはランダムな数字が並んでおり、対応するB列のセルに同様に入力されるように設定したいのですが、方法がわかりません。マクロを使えばよいとのことですが、どなたか詳しく教えてください。 よろしくお願いします。

  • 「エクセル」で、ハイフンを数字として入力するには?

    「エクセル200」を使っています。 ハイフンを使った数字(例えば「1-3」)を入力すると、 自動的に「1月3日」となってしまい、困っています。 それまでは「セルの書式設定」の「表示形式」は 「標準」になっていたはずなのですが、 これもまた自動的に「日付」になっています。 「表示形式」を「文字列」にすると ハイフンはそのままに、「1-3」と入力出来るのですが、 なんとか「数字」としてハイフンを入力する方法は ないでしょうか? と、いうのも「エクセル」で作製したデータを、 「CSV(カンマ区切り)」形式で保存したいのです。 「エクセル」で文字列としてキチンとハイフンを 入力したつもりでも、 「CSV」にするとまた「日付」表示に 戻ってしまっているのです。 これは「CSV」に「文字列」を認識する機能が ないせいでしょうか? どなたかお教え願います。

  • エクセルで、セルに入力された文字を別なシートで数字

    エクセルで、セルに入力された文字を別なシートで数字で表すにはどうしたらいいのですか? いま、会社でエクセルVBAを使って表を作っています。 そこで、例えば、 Sheet2で、セルA1に○○会社 ~、セルA2に△△会社と入力したら、 Sheet1で、数字で、2 と表すには、どういう風に作ればいいのでしょうか?

  • エクセルで入力した数値によって自動で入力される数式?

    エクセルで台帳を作っているのですが、 別の列のセルに入力した数値によって、 指定したセルに自動でA,B,C等と入力されるようにするにはどのように設定すればいいのでしょうか。 A列に0~1.1なら B列に A 1.2~2.9なら B 3.0以上なら C のように数字の範囲によってABCと表示されるようにしたいのです。 エクセルの数式等は簡単なものしかわからず、どのように調べたらよいかもわかりません。教えていただけたら助かります。

  • エクセルで、文字列の入ったセルを他のシートへ自動的に入るようにしたいのですが・・・

    エクセルで、文字列の入ったセルを他のシートへ自動的に入るようにしたいのですが・・・ 例 シート1のA1セルに「○○会社」と入力 自動的にシート2のA1にも同じ「○○会社」が入力される。

  • エクセルの入力数字

    エクセルの練習をしています。シートのコピーや絶対参照、Rounddown関数やIf関数なども練習していた時、エクセルのシートに入力する数字が、すべて、小数点で確定してしまいます。例えば、  数字の1を入力・・・Enterを押すと0.01と変化します。今まで使ったすべてのシートだけでなく、新しいシートもそうなります。セルの解除などやってみましたが、直りません。教えてください。パソコンは、あまり詳しくありません。簡単な説明でお願いします。

  • エクセル、数字の「0」が表示されません

    エクセルのシートで 「シート1」、「シート2」 があるとします。 現在、「シート1」の「A1」に文字や数字を入力すると 自動的に「シート2」の「A1」に同じ内容が入力されるようになっています。 (因みに「シート2」の「A1」には下記の式が入っております。 =シート1!A1 ) この前気付いたのですが、 数字の「0」を入力しますと 「シート2」の方には反映されません。 一応「セルの書式設定」で色々と「表示形式」を変えたのですが うまくいきませんでした。 どうか解決方法を教えてください。 よろしくお願いいたします。

  • エクセルの自動入力

    エクセルでデータを管理している者です。 今回は、ある列である文字列を入力すると、違う列の値も自動的に変わるように変更したいと考えています。 具体的には以下のような例です。 A1が"NO"の場合はA2は"必要"、A3は"入力"に自動的に変更する。 *ただし、A2、A3には既に値が入力されており、関数のIFは使えないと考えています。 文章が下手ですいません。何か疑問があれば質問してください。 よろしくお願いします。

専門家に質問してみよう