• ベストアンサー

エクセルで法則に従って増える数字を作るには…

エクセルがまったくわからない初心者です。 A1に「00001」と入力してセル右下の「+」を下にドラッグすると00002、00003…と増える機能?を利用して、 00001 00051 00101 00151 00201 00002 00052 00102 00152 00202 00003 …以下略 のような50ずつ増えて、200番台に達すると00002からまた50ずつ増えて、また200番台に達すると次は00003から増えていく…のような文字列は出来るのでしょうか…? 全くの素人なのでわかりやすく教えてくださる方、いらっしゃいましたらお願い致します。

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

  • ベストアンサー
  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

まず、これらの数値を入力するセルの書式を 【セルの書式設定】の 【表示形式】 で 【ユーザ定義】を選択し、 【種類】に  00000   を設定してください。 仮に、00001 を入力するセルが A1 なら そのすぐ下の A2 に次の数式を 入力します。 =if(A1+50>=250,A1-200+1,A1+50) あとは、A2セルを選択し、セル右下の「+」を下にドラッグしてください。

sp-san
質問者

お礼

DIooggooIDさん、回答ありがとうございます。 早速やってみたのですが、セルの書式設定が反映されるのがA1のみになってしまいます。 数の増え方は問題なく、この数式を使えば応用も出来そうでとってもありがたいです! なのですが、説明不足ですみません…。 いずれの数も桁数を揃えたいと思っているのですがどうして反映されないのでしょうか…?

sp-san
質問者

補足

おそらく私のやり方が悪いのだと思いますが、みなさんの方法のどれを試してみても、 数式がコピーされる状態になってしまいます(; _ ;) 何回かうまくいったのですが、何をどうやってうまくいったのかがわからず…。 A1に00001を入れてA2に数式を入れると、A1に青い枠が出てきます。 enterを押すと選択が解除されるのですが、いざ「+」でドラッグすると、以下の枠が全て数式に…(汗) 理由が分からないのですが、おそらく私の手順が間違っているのではないかと思います。 どなたかご教授お願いします。

その他の回答 (5)

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.6

NO.1 です。  Ctrl + Spaceキーで列全体を選択した状態にしてから、 もう一度、先ほどの書式設定をしてみていただけませんでしょうか?

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.5

A1に"0001"と入力して、A2以下を下式でフィルすればいい。 =RIGHT("0000"&IF(A1+50>=250,A1-200+1,A1+50),4)

sp-san
質問者

お礼

okormazdさん、回答ありがとうございます。 きれいにできました! ありがとうございます。

  • MRT1452
  • ベストアンサー率42% (1391/3293)
回答No.4

式を使わない方法として(操作は結構、面倒になりますが)。 A1に00001 A2に00051 を入力。 A1及び、A2を選択。 その状態で、右下の「+」を下にドラッグする。 201までドラッグして次の行に 00002 00052 を入力して、以下繰り返し。 となります。結構面倒です。 この手順での加減算は一定間隔の単純加算・単純減算しか出来ないので、 201になったら次の行は2になるというようなことはできません。 1→+1→2→+1→3→+2→5と 途中で計算ルールが変わる場合も対応できません。 延々と50づつ増えていくのなら、このやり方の方が良いですが、 条件付となると式でした方が良いかも。 他にもA,B,C,A,B,C,A,B,C,A,B,C・・・・ という感じに繰り返す等の時に役に立ちます。 本件ではあまり役に立ちませんが、知っておくと便利かも。

sp-san
質問者

お礼

MRT1452さん、回答ありがとうございます。 ご丁寧な回答大変感謝いたします(*^_^*) 私の知識だと数式が理解できないので、この単純加算・減算はわかりやすいです。 …なのですが、実はこの作業結構膨大な量がありまして… 確かに量をこなそうと思うと大変かもしれません…(汗) 知識として蓄積しておきます。 ありがとうございました♪

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

開始セルがA2として =TEXT(IF(MOD(ROW()-1,5)=1,MOD(IF(ISNUMBER(A1*1),A1,0),50)+1,A1+50),"00000") と入力して下方に[+]でコピー

sp-san
質問者

お礼

mshr1962さん、回答ありがとうございます。 なぜか00001~00201までがなかったですが、00002以降はきれいにできました! ありがとうございます。

  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.2

A1セルに =(MOD(ROW()-1,5))*50+INT((ROW()-1)/5+1) を入れて下までコピー。

sp-san
質問者

お礼

kigoshiさん、回答ありがとうございます。 できました! …なんですが、私の説明不足ですみません…桁を全て5桁もしくは6桁などで揃えたかったのですが、書き忘れておりました(汗)

関連するQ&A