- ベストアンサー
エクセルの関数?の大量コピーの方法について
いつも早く的確なご回答、ありがとうございます^ ^ 少し前に、 5ケタの数字の和を求める方法を おたずねし、ご回答がえられたのですが、、 (ありがとうございます!) 例)12345なら、 1+2+3+4+5=15のようにしたい。 この5ケタの数字が10000数以上あります。。 教えていただいた方法を自分なりに応用させていただき、 表として見やすくできたのですが、 その処理を10000件以上行いたいと思っております。 A1セルに5ケタの数字を入力し、 C1セルに=VALUE(MID($A$1,1,1))、 D1セルに=VALUE(MID($A$1,2,1))、 E1セルに=VALUE(MID($A$1,3,1)) F1セルに=VALUE(MID($A$1,4,1)) G1セルに=VALUE(MID($A$1,5,1)) I1セルに=SUM(C1:D1:E1:F1:G1) とそれぞれ入力しました。 A2セル~A10000セル以上に数字を入力し、 上のような和を求めたいと思い、 ためしに1行をコピーし、 2行目に貼り付けてみたのですが、、 2行目の合計は、 1行目のA1セルに入力した数値のものになってしまいます。。 なんとか10000以上の行の和を、 うまく求められる方法はありますでしょうか?? 説明文がおかしい点などあり、 ご理解に苦しむかと思いますが、 ご回答いただけましたら幸いです。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 「$」の使い方を理解されていないようですね。 $をつけると、絶対参照になります。コピーしてもあどれるが変わらないのです。 例1)式A1を下と右にコピーした例です。 A1 B1 C1 A2 A3 例2) $A1 $A1 $A1 $A2 $A3 例3) A$1 B$1 C$1 A$1 A$1 例4) $A$1 $A$1 $A$1 $A$1 $A$1 このように、「$」をつけた次の列指定または行指定はコピー時に変化しなくなるのです。 よって、貴方のケースは$A$1→$A1かA1でよいことになります。 では。
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17069)
多分先ほど見た質問だと思うが、回答の中で、質問者が初心者だからだろうが、その理解できる解法を、すなわち作業列を使う回答ばかり、評価していたが、私ならSUMPRODUCT関数などの回答を評価する。 この関数なら1万行でも式の複写で出来ると思う。これ複写の便利な方法も知らないかもしれないが。 ーー 色々やって後に、それらの方法が、どうしても気に食わない、という場合は、VBAを知らないと思うが、 ツールーマクローVisualBasicEditor の画面でメニューの 挿入ー標準モジュールで出る画面に下記をコピペ。 Sub test01() d = Range("A65536").End(xlUp).Row 'A列最終行 For i = 1 To d a = Cells(i, "A") 'A列データ s = 0 For j = 1 To Len(a) s = s + Mid(a, j, 1) Next j Cells(i, "B") = s 'B列に Next i End Sub ーーー F5キーで実行 A列に数がある場合B列に答えが出る。一発で済む。 列を質問者の場合に合わせるなら、上記のA,Bの出ている3箇所を、K,Lなどに変えれば良い。
お礼
すごく早いご回答にビックリしています^ ^ 本当にありがとうございます! ものすごく詳細なご回答、 とても感謝しておりますm(_ _)m
- n-jun
- ベストアンサー率33% (959/2873)
回答は既に出ているので別件で。 >I1セルに=SUM(C1:D1:E1:F1:G1) =SUM(C1:G1) で良いと思います。 シートの左上に”名前ボックス”と言うのがあります。 仮にI列に式を入れるのであれば、 その名前ボックスに I1:I10000 ←仮に10000行までとした場合 と入力しEnterを押すとその範囲が選択されます。 その状態で数式バーに =SUM(C1:G1) と入力して、Ctrlキーを押しながらEnterキーを押すと、 範囲内に一気に数式が入ります。 ご参考まで。
お礼
すごく早いご回答にビックリしています^ ^ 本当にありがとうございます! 数式が省略できて、 スッキリしましたし、理解しやすくなりました。
- mu2011
- ベストアンサー率38% (1910/4994)
NO3です。 数式の一部訂正します。 C1に=VALUE(MID($A1,COLUMN(A1),1))を設定、G1までコピー
お礼
すごく早いご回答にビックリしています^ ^ 本当にありがとうございます! 詳しいご説明とてもうれしいです。
- mu2011
- ベストアンサー率38% (1910/4994)
C1に=VALUE(MID($A1,1,1))を設定、G1までコピー、I1は=SUM(C1:G1)として、C1:I1を選択して下方向にコピー
- keirika
- ベストアンサー率42% (279/658)
$A$1を$A1でどうでしょう。
お礼
すごく早いご回答にビックリしています^ ^ 本当にありがとうございます!
お礼
すごく早いご回答にビックリしています^ ^ 本当にありがとうございます! $にはそのような意味があったのですね。 とても勉強になりました!