- ベストアンサー
「挿入」すると・・
前月平均 前月比 4月16日4月15日 17599 102.0% 17231 17958 このような形で日々前月平均の値と比べた値を表示するグラフを作っています。 例えば4/17のデータは「前月比」「4月16日」の間に『挿入』して、自動計算させます。 ここで質問です。 1.このときに自動計算する計算式を、 =F3/B3 としている場合に、G列にその日の値を挿入すると 計算式が G3/B3になってしまいます。 これをF3のままにしておく方法はありませんか? ※「$」をつけてもずれてしまいます。。 2.挿入されたセルの書式設定が自動的に左のセルのものをコピーしてしまいます。自動的に右のセルと同じ書式にするような設定はごぞんじありませんでしょうか。。 以上です。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
興味ある質問なので考えてみました。質問の意味を取り違えていなければ幸いです。 1.まず、前月比の列は「%」表示と想像しますが、標準にします。これで挿入された列も標準になります。 2.前月比の列には(前月平均がB列で3行目なら) =TEXT(offset(B3,0,4)/B3*100,"#.#")&"%" とします。表示は右寄せにします。下にコピーも可能です。B列から4右に行けばF列という意味です。 算式は、offsetでB3セルからの位置を指定しているだけです。列を挿入したとき値は「.%」になりますが、数値を入力すれば計算されます。
その他の回答 (3)
- april21
- ベストアンサー率42% (91/216)
いちおうマクロの説明をしておきます。(知ってる場合は無視してください) VBEの画面の説明だと分かり辛いかと思いますのでマクロの編集で・・・。 [ツール] メニューの [マクロ] をポイントし、[新しいマクロの記録] をクリック。 [ツール] メニューの [マクロ] をポイントし、[記録終了] ツールバーの (記録終了) をクリック。 [ツール] メニューの [マクロ] をポイントし、[マクロ] をクリック。 [マクロ名] ボックスにMacro1を選択して「編集」をクリック 下記のようになってると思いますがいらないので回答NO.3のマクロをコピーして貼り付けたら 編集画面は閉じてエクセルの画面に戻ります。 ----------------------------------------------- Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2001/4/17 ユーザー名 : XXX ' ' End Sub ----------------------------------------------- 実行させる場合は[ツール] メニューの [マクロ] をポイントし、[マクロ] をクリック。 [マクロ名] ボックスのoshietegooを選択して[実行]
- april21
- ベストアンサー率42% (91/216)
下記のマクロで >前月平均 前月比 4月16日4月15日 >17599 102.0% 17231 17958 左上から順にA1、B1,C1、D1 左下から順にA2、B2,C2、D2 として 「前月比」「4月16日」の間に列を挿入して C2にF3/B3の値が出ます。(書式をD2と同じにします)←D2=17231 C1には右のセルの日付の翌日が出ます。 休日かなにかで飛ぶ場合は4/20とか入力して変更してください。 全体的なものが良くわからないのでこんな感じになりました。 適当に替えてくださいね。 前月比とかも数式いれないとけないと思うのですが・・・nishi6さんがoffsetの 説明をされてるので省きます。 ------------------------この下から------------------ Sub oshietegoo() Columns("C:C").Select Selection.Insert Shift:=xlToRight Range("C1").Select ActiveCell.FormulaR1C1 = "=RC[1]+1" Range("D2").Select Selection.Copy Range("C2").Select Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=R[1]C[3]/R[1]C[-1]" Range("C1").Select End Sub ----------------------------この上まで------------------------------
お礼
すみません、マクロというものをまったく理解していないのでまだぴんときません。もしかしてこちらの方が良いかもしれない・・・と思いましたが、なぜか巧くいきません。。ということで、次点にさせてください!
- a-kuma
- ベストアンサー率50% (1122/2211)
新しい列を挿入するのではなく、既に入力されている列を 右側に一つずらしてコピーするのではどうですか? > 前月平均 前月比 4月16日4月15日 > 17599 102.0% 17231 17958 であれば、 (1) 4/16と4/15の列を選択してコピー (2) 4/15の列を選択して、貼り付け (3) 元の4/16の列を選択して「削除キー」(内容のクリア) (4) 先頭の行に 4/17 と入れる という手順で。
お礼
有難うございました!確かにそういう手もありますね。でも、毎日の作業を考えると、nishi6さんの方法が便利だったりします。
お礼
これで解決しました!!