• ベストアンサー

Excel2003 約数を返すには

初めて投稿させていただきます、よろしくお願い致します。 Excel2003を使用して、小学生向けに約数を教えるためのドリルを作ろうと思っています。 ネットでの検索や関数検索をして、「最大公約数を返す」というものは関数やマクロであるらしい事が分かったのですが、約数を並べられるようなものが見つかりません。 ex) 54 → 1 2 3 6 9 18 27 54 # 変数を54としたときに、同一もしくは違うセルに約数が並ぶような感じをイメージしています。 どなたかご存知の方がいましたら、ご教授いただけると助かります。

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

  • ベストアンサー
  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.4

#2です。 お役に立てて幸いです。 前回のコードで十分実用に足りると思いますが、 改良版を示します。 ご参考までに。 Private Function divisor2(argRng As Range) As String   Dim m As Long, n As Long, q As Long   Dim str1 As String, str2 As String   m = argRng.Value   n = 1   Do     If (m Mod n) = 0 Then       str1 = str1 & " " & n       q = m / n       str2 = q & " " & str2     End If     n = n + 1   Loop Until n = q   divisor2 = str1 & " " & str2 End Function

mathma
質問者

お礼

さらに改良してくださり、本当に御厚意痛み入ります。 最初のものと共にモジュールに加えさせていただきました。 子ども達の学力向上で恩返しさせていただきます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

noname#204879
noname#204879
回答No.3

   A   B   C   D   E 1   10   54  543  5432  9999 2   ↓   ↓   ↓   ↓   ↓ 3    1   1   1   1   1 4    2   2   3   2   3 5    5   3  181   4   9 6   10   6  543   7   11 7  #NUM!   9 #NUM!   8   33 8  #NUM!   18 #NUM!   14   99 9  #NUM!   27 #NUM!   28  101 10 #NUM!   54 #NUM!   56  303 11 #NUM! #NUM! #NUM!   97  909 12 #NUM! #NUM! #NUM!  194  1111 13 #NUM! #NUM! #NUM!  388  3333 14 #NUM! #NUM! #NUM!  679 #NUM! 15 #NUM! #NUM! #NUM!  776 #NUM! 16 #NUM! #NUM! #NUM!  1358 #NUM! 17 #NUM! #NUM! #NUM!  2716 #NUM! 18 #NUM! #NUM! #NUM!  5432 #NUM! 19 #NUM! #NUM! #NUM! #NUM! #NUM! A3: {=SMALL(IF(MOD(A$1,ROW(A$1:A$10000)),"",ROW(A$1:A$10000)),ROW(A1))}   (上式は配列数式です)

全文を見る
すると、全ての回答が全文表示されます。
  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.2

こんにちは。 ユーザー定義関数を作ってみました。 参考になれば幸いです。 '===========標準モジュールに記載=================== Private Function divisor(argRng As Range) As String   Dim i As Long   For i = 1 To argRng.Value     If argRng.Value Mod i = 0 Then       divisor = divisor & " " & i     End If   Next i End Function '===========使い方の例============================= ' A1セルに54と入力 ' B1セルに=divisor(A1) '============注意================================== ' 正の整数以外に対するエラー処理はしていません。

mathma
質問者

お礼

アドバイスありがとうございます。 早速活用させていただき、今プリントを完成させることが出来ました。 本当にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 参考になるかどうか判りませんが・・・ 無理矢理って方法の一例です。 ↓の画像の1行目は整数を1~255までオートフィルで入力しておきます。 (当方使用のExcel2003では256列までしか表示できないので 最終列はIV列で256列になるはずです。) そして2行目を作業用の列とさせてもらって、 B2セルに =IF($A$3="","",IF(MOD($A$3,COLUMN(A1))=0,COLUMN(A1),"")) とし、これも最終列までオートフィルでコピーします。 最後にB3セルに =IF(COUNT($B$2:$IV$2)>=COLUMN(A1),INDEX($B$1:$IV$1,SMALL($B$2:$IV$2,COLUMN(A1))),"") とし、オートフィルでコピーすると画像のような感じになります。 これでA3セルに数値を入力するだけで約数全てが表示されるはずです。 尚、1・2行目が目障りであれば、1・2行目全てを選択し 「表示しない」にしておけば良いかと思います。 以上、参考になれば幸いですが、 他に良い方法があれば読み流してくださいね。m(__)m

mathma
質問者

お礼

アドバイスありがとうございました。 関数は初心者でして、少しずつ勉強していこうと思っています。 tom04さんの関数式を読み解いて、自分でも作れるようにしたいと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 小6 約数がわかりません

    質問が 150の約数のうちから4個をえらんでその和を足したところ、80になりました その4個の数を小さい方から順に書きましょう 解き方をみたら、 最大公約数の数の大きい順から考えて、80-75=5  3つの数で5になる組み合わせはありません。 80-50=30 3つの数で30になる組み合わせは・・・・・・・と答えが書いてました。 わからないのは、どうして3つの数なんですか?4個を選んだんだから4つじゃないんですか? 3つの意味がさっぱりわかりません。 おしえてください。

  • 小6 約数のコツがありますか?

    算数で、最大公約数を出すときに、いつも間違えます。 たとえば、64と80の時、16というのがひねり出せなくて、4で計算して間違えたりします。 他にも、必ずきちんと約数の数があってないと、そこで計算が成り立たたないのに、 見つけきれずに飛び抜かしてしまうことがあります。 うまく出来るコツはありますか?教えてください。

  • 約数について。

    次の問題のURLで、m とn の公約数の個数は、mとnの最大公約数の約数の個数と一致する。というのがわかりません。教えていただけないでしょうか?すみません。 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10121221575?__ysp=eWFob28g55%2Bl5oG16KKLIGEsYixjLGTjga%2Foh6rnhLbmlbA%3D

  • 偶数、奇数、倍数、約数、素数について教えて下さい。

    小学校で偶数や倍数などについて習ったのですが、 中学校になって、負の数を習ったり、文字式を習ったり、整数の問題をやっているうちに、 定義がいまいち分からなくなってしまいました。(現役中学生です。) ・偶数、奇数、倍数、約数それぞれにゼロは含まれるのか。 ・素数、偶数、奇数、倍数、約数、に負の数は含まれるのか。  これは、例えば、 -1は素数になるのか、 -2は偶数なのか、もしくは、そもそも負の数に偶数と言うものは無いのか(奇数も同様に)、 -12の約数や倍数はあるのか、もしくは、そもそも負の数に約数・倍数がないのか、 あるとしたら、  3の倍数に負の数や、-3の倍数に正の数があるか、  -6と-9の公約数、-8と12の公約数はあるか、 などなどです。 検索してもよく分からないのですが、教えてもらえないでしょうか。

  • 約数

    与えられた自然数N=(p^l)*(q^m) □で、l,mは0以上の整数について (1)Nの正の約数の個数 (2)Nの正の約数の総和 (1)上記の問題の(1)のNの正の約数の個数が(l+m+1)(l+1)(m+1)となるように□に適する条件を書く問題で 回答はp,Qの最大公約数をrとするとp/r,q/r,rは異なる素数らしいのですがどうしてrを割るのですか? 例えば2つの整数aとbの最大公約数をGとくと、a=a'G,b=b'Gとおける a'とb'は素とするとこうな考えをするのでしょうか? (2)(1)の条件のもとで、(2)を解くと p/r=a,q/r=bとおくと N={(ar)^l}*{br}^m =(a^l)*(b^m)*r^(l+m) Nの正の約数の総和は S=((a^0)+(a^1)+…(a^l)) ((b^0)+(b^1)+…(a^m)) ((r^0)+(r^l)+…(r^(l+m))) から {1-a^(l+1)}/1-a * {1-b^(m+1)}/1-b *{1-r^(l+m+1)}/1-r になることわ分かりません。

  • プラチカ

    プラチカIIICの10番なのですが 数列 an+1=an+2bn bn+1=an+bn となるanとbnの最大公約数を出したいのですが、 解説には anとbnの最大公約数は |an^2-2bn^2|の約数である。 と書かれていました なぜ最大公約数が上式の約数となるのか全くわかりません わかるかた教えてください。お願いいたします。

  • エクセルの分数約分について

    エクセルの分数をつくる際について質問します。 例えば、0.45を分数にする時、45/100になると思います。 それを小さくする際約分をすると思います。エクセルでするときは セルの書式設定の分数で約分できるのでしょうか。 3桁増加~1桁増加というのがありますが、意味がわかりません。 また最大公約数・最小公約数を求める関数はありますか? 教えて下さい。御願い致します。

  • 最大約数

    与えられた自然数N=(p^l)*(q^m) □で、l,mは0以上の整数について (1)Nの正の約数の個数 (2)Nの正の約数の総和 (1)上記の問題の(1)のNの正の約数の個数が(l+m+1)(l+1)(m+1)となるように□に適する条件を書く問題で 回答はp,Qの最大公約数をrとするとp/r,q/r,rは異なる素数らしいのですがどうしてrを割るのですか? (2)(1)の条件のもとで、(2)を解くと p/r=a,q/r=bとおくと N={(ar)^l}*{br}^m =(a^l)*(b^m)*r^(l+m) Nの正の約数の総和は S=((a^0)+(a^1)+…(a^l)) ((b^0)+(b^1)+…(a^m)) ((r^0)+(r^l)+…(r^(l+m))) から {1-a^(l+1)}/1-a * {1-b^(m+1)}/1-b *{1-r^(l+m+1)}/1-r になりますが 等比数列の和を利用して{1-a^(l+1)}/1-a になるそうですが(l+1)がどのようにして現れたのか分かりません。

  • 小5算数 整数の性質

    どの程度まで扱うべきだと思いますか。以下私案: 1 約数と倍数:偶数と奇数,約数と倍数の意味,倍数の見分け方 2 素数と素因数分解:素数,素因数分解 3 最大公約数とその利用:2数及び3数の最大公約数とその利用 4 最小公倍数とその利用:2数及び3数の最小公倍数とその利用 5 2つの整数とその最大公約数・最小公倍数との関係

  • 高校数学II 整式の約数・倍数

    整式の約数・倍数についての質問です。 X(2乗)-2X+4、X(3乗)+8の最大公約数・最小公倍数を答える問題です。 【X(2乗)-2X+4】 X=解なし 【X(3乗)+8】 (X+2)(X(2乗)-2X+4) ここまではあっているでしょうか?? この先公約数・公倍数の求め方が分かりません。 X=解なしではない問題の場合は分かるのですが…。 どなたか分かる方いましたらヒントだけでも結構ですので回答お願いします。

専門家に質問してみよう