• ベストアンサー

多数の計算セルに一括で同一の関数を追加したい

エクセル2007で、 A1:=X/Y A2:=S/T A3:=A/B といった、すでに数式の入力されたセルに、 A1:=round(X/Y,3) A2:=round(S/T,3) A3:=round(A/B,3) となるようRound関数を追加したいのですが、手入力でコピーアンドペーストする以外に何か方法はあるでしょうか? 後々に計算が続くため、出来れば「B1=round(A1,3)」の様なやり方は避けたいと思っています。 置換でまずroundを追加しようとしても、括弧が対応していないとエクセルに怒られました。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 以下の様に操作されると宜しいかと思います。 A1~A3の範囲をまとめて範囲選択   ↓ Excelの置換機能を使用して、A1~A3の範囲内にある全ての「=」(鉤括弧は不要)を「 =」(「『空白+『=』」、鉤括弧は不要)に置換   ↓ 適当な未使用の列(ここでは仮にB列とします)の1行目のセル(B1セル)に次の関数を入力 =REPLACE(A1,2,1,"=ROUND(")&",3)"   ↓ B1セルをコピーして、B2~B3の範囲に貼り付け   ↓ B1~B3の範囲をコピー   ↓ A1セルを右クリック   ↓ 現れた選択肢の中にある[形式を選択して貼り付け]をクリック   ↓ 現れた「形式を選択して貼り付け」ダイアログボックスの中にある「値」と記されている箇所をクリックしてチェックを入れる (或いは、「貼り付けのオプション」の中にある「123」と記されたアイコンをクリック)   ↓ 「形式を選択して貼り付け」ダイアログボックスの[OK]ボタンをクリック   ↓ A1~A3の範囲をまとめて範囲選択   ↓ Excelの置換機能を使用して、A1~A3の範囲内にある全ての「 =」(「『空白+『=』」、鉤括弧は不要)を「=」(鉤括弧は不要)に置換  以上です。  列記しますと長くなりますが、それほど複雑な操作では御座いません。

DICEKE3
質問者

お礼

試してみましたが確かに簡単で、ちゃんと意図通りの結果になりました。 ありがとうございました。

その他の回答 (4)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

こんばんは。 置換を使ってROUND関数を追加するのはまぁどうにかなりますが、問題は置換を使って最後に「)」を追加する方法が無いってことです。 限定的ですが一応可能な手順: いまシート1にそういう数式が並んでるとして A1:A3をコピーする シート2のA1に「形式を選んで貼り付け」の「数式」にマーク、「加算」にマークして貼り付ける シート2で =0+ を ROUND にすべて置換する ) を ,3) にすべて置換する ROUND を =ROUND にすべて置換する。 #言わずもがなですが、元のセルに記入されている具体的な内容に応じて実際の工夫が必要です。

DICEKE3
質問者

お礼

「別シートにコピーした後に戻す」と「一度目の置換で式ではなく文字列化する」で問題をクリアするところに目から鱗が落ちました。 ありがとうございました。

回答No.3

そのA列は計算に使わない? 表示だけそれらしい結果になればよいなら、 A列で「=」を「=4/10000+」に置換し、表示を小数点以下3桁表示にする、、、

DICEKE3
質問者

お礼

後に計算で使う上、丸め誤差を統一するためにroundする必要があったため、ご教授の方法は、、、

  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.2

簡単な方法です。 隣に作業列を挿入して、その1行目のセルに、=Round(A1,3)と入力して、下へ必要な行だけオートフィルコピーします。 次に、元の列を非表示または削除します。

DICEKE3
質問者

お礼

A1-A3を参照するセルが以降に続くため、出来れば別セルでのround(A1)は避けたいと注記したのですが、やはりこれが一番簡単といえば簡単ですよね。

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

マクロを少し使うとかなり楽ちんです。 ひとまず、とっかかりだけ紹介。 Sub test()   With Range("A1")     .Value = "=ROUND(" & Mid(.Formula, 2, Len(.Formula)) & ",3)"   End With End Sub A1セルの数式に文字列を足すマクロです。

DICEKE3
質問者

お礼

そう何度も遭遇する事態ではないのでマクロは意識の外だったのですが、案外簡素に出来そうなのでショートカットにでも登録して今後も活用しようと思います。 ありがとうございました。

関連するQ&A