アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルのオートフィルで数字の4と9を除く連番を作りたいのですが・・・。どのようにしたらできますか?教えていただけますか?困ってます。Y(>_<、)Y

A 回答 (10件)

不吉な番号の4と9を排除したいと?


チョー簡単です。

1.例えばセル A1 に文字列で 1 と入力
2.[オートフィル]機能で下方にズズーッと好きなだ
  け(最大65536行目まで)連番を作成
3.データ範囲の任意の単一セルを選択
4.[データ]→[フィルタ]→[オートフィルタ]を実行
5.セル A1 の[オートフィルタ]矢印(▼)をクリック
6.“(オプション)”を選択
7.上段左窓内に 4 を入力
8.その右窓内で“を含む”を選択
9.“OR”に目玉入れ
10.下段左窓内に 9 を入力
11.ステップ8に同じ
12.[OK]をクリック
13.抽出された最上行のレコードの行番号(5 のはず
  ですね)をクリック(→当該行全体が選択され
  る)
14.マウスの右クリックから[行の削除]を選択
15.[オートフィルタ]を解除
    • good
    • 0
この回答へのお礼

ありがとうございます(^▽^喜)でも何故か、6~12のステップをやってもレコードが0個見つかりました。とばかりなります何度も試みてますが・・・、私も疑問です。ちなみにエクセル2002です。4以上とかやるとちゃんと命令どおり表示されるのに・・・。

お礼日時:2006/05/25 11:41

下1桁ではなくどの桁も4と9は除くのですか。


(1)下1桁なら
A1=1、A2に=IF(OR(MOD(A1,10)=3,MOD(A1,10)=8),A1+2,A1+1)
といれて下方向に式を複写。
(2)4桁までで、4,9数字を除く場合。
VBAですが
Sub test01()
n = Array(0, 1, 2, 3, 5, 6, 7, 8)
x = 1
For i = 0 To 7
For j = 0 To 7
For k = 0 To 7
For l = 0 To 7
m = n(i) * 1000 + n(j) * 100 + n(k) * 10 + n(l)
Cells(x, "A") = m
x = x + 1
Next l
Next k
Next j
Next i
End Sub
5桁までであれForループを外に1つ増やしてください。
0001のようにしたい場合はCells(x,"A")=TEXT(m,"0000")
でできるでしょう。
    • good
    • 0

[No.5回答に対するお礼]に対するコメント、



》 1.例えばセル A1 に文字列で 1 と入力
》 2.[オートフィル]機能で下方にズズーッと…

つまり、列Aは全て文字列にしましたか?数値ではありませぬ。
    • good
    • 0
この回答へのお礼

☆⌒(*^∇゜)v ありがとうございます!初心者なもんで(^^ゞ1時間ぐらい悩みました。おかげで疑問がが解決できました。

お礼日時:2006/05/25 12:20

#4のmshr1962です。


一応マクロ(ユーザー関数)を使った場合
Function REN49(SUUTI)
Dim RC As String, RI As Integer
If IsNumeric(SUUTI) Then REN49 = SUUTI + 1 Else REN49 = 1
For RI = 1 To Len(REN49)
RC = StrReverse(REN49)
If CInt(Mid(RC, RI, 1)) Mod 5 <> 4 Then Exit For
REN49 = REN49 + 10 ^ (RI - 1)
Next RI
End Function

上記をマクロとして登録後に
開始セルに開始値をセット(例 A1=1)して
A2=REN49(A1)
として連番作成
    • good
    • 0

参考までに、


A2=A1+1+OR(RIGHT(A1)={"3","8"})+OR(RIGHT(A1,2)={"38","88"})*10


桁数によって
+OR(RIGHT(A1,3)={"388","888"})*100

の様に加えてください
    • good
    • 0

[No.5回答]の補遺、



次のステップを 13 と 14 の間に追加してください。

13.5.Ctrlキーと Shiftキーを抑えたままで、下矢印
   (↓)をキーを一発叩く
    • good
    • 0

下一桁だけ対象なら単純ですが


=A1+IF(OR(MOD(A1,10)=3,MOD(A1,10)=8),2,1)

全桁だと、38→50,88→100といった変換が出るので関数だと難しいです。
マクロになるかな?
    • good
    • 0

連番のケタ、 最大値は幾つまで


 かを示してくれると考えがまとまるのですが・・・
    • good
    • 0

A1セルに「1」と入れて、


A2セルに「=ROUND((MOD(A1,5)+3)*1.25,0)+INT(A1/5)*5-3」と言う式を入れ、A2セルを下方向にオートフィルでコピーして下さい。
    • good
    • 0

通常のオートフィルでそのような連番は無理ですので、こうしませんか?



A1セルに1としたら
A2セルに
=IF(OR(RIGHT(A1,1)="3",RIGHT(A1,1)="8"),2,1)+A1
と入れて、あとは下までずーっとドラッグしてみてください。
式ではなく数値としてほしいのであれば、その範囲をいったんコピーして値で貼り付けてください。
    • good
    • 0

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