• ベストアンサー

「挿入」すると・・

前月平均 前月比 4月16日4月15日 17599 102.0% 17231 17958 このような形で日々前月平均の値と比べた値を表示するグラフを作っています。 例えば4/17のデータは「前月比」「4月16日」の間に『挿入』して、自動計算させます。 ここで質問です。 1.このときに自動計算する計算式を、 =F3/B3 としている場合に、G列にその日の値を挿入すると 計算式が G3/B3になってしまいます。 これをF3のままにしておく方法はありませんか? ※「$」をつけてもずれてしまいます。。 2.挿入されたセルの書式設定が自動的に左のセルのものをコピーしてしまいます。自動的に右のセルと同じ書式にするような設定はごぞんじありませんでしょうか。。 以上です。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

興味ある質問なので考えてみました。質問の意味を取り違えていなければ幸いです。 1.まず、前月比の列は「%」表示と想像しますが、標準にします。これで挿入された列も標準になります。 2.前月比の列には(前月平均がB列で3行目なら) =TEXT(offset(B3,0,4)/B3*100,"#.#")&"%" とします。表示は右寄せにします。下にコピーも可能です。B列から4右に行けばF列という意味です。 算式は、offsetでB3セルからの位置を指定しているだけです。列を挿入したとき値は「.%」になりますが、数値を入力すれば計算されます。

freestyle7
質問者

お礼

これで解決しました!!

その他の回答 (3)

  • april21
  • ベストアンサー率42% (91/216)
回答No.4

いちおうマクロの説明をしておきます。(知ってる場合は無視してください) VBEの画面の説明だと分かり辛いかと思いますのでマクロの編集で・・・。 [ツール] メニューの [マクロ] をポイントし、[新しいマクロの記録] をクリック。 [ツール] メニューの [マクロ] をポイントし、[記録終了] ツールバーの (記録終了) をクリック。 [ツール] メニューの [マクロ] をポイントし、[マクロ] をクリック。 [マクロ名] ボックスにMacro1を選択して「編集」をクリック 下記のようになってると思いますがいらないので回答NO.3のマクロをコピーして貼り付けたら 編集画面は閉じてエクセルの画面に戻ります。 ----------------------------------------------- Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2001/4/17 ユーザー名 : XXX ' ' End Sub ----------------------------------------------- 実行させる場合は[ツール] メニューの [マクロ] をポイントし、[マクロ] をクリック。 [マクロ名] ボックスのoshietegooを選択して[実行]

  • april21
  • ベストアンサー率42% (91/216)
回答No.3

下記のマクロで >前月平均 前月比 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 ----------------------------この上まで------------------------------

freestyle7
質問者

お礼

すみません、マクロというものをまったく理解していないのでまだぴんときません。もしかしてこちらの方が良いかもしれない・・・と思いましたが、なぜか巧くいきません。。ということで、次点にさせてください!

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

新しい列を挿入するのではなく、既に入力されている列を 右側に一つずらしてコピーするのではどうですか? > 前月平均 前月比 4月16日4月15日 > 17599 102.0% 17231 17958 であれば、 (1) 4/16と4/15の列を選択してコピー (2) 4/15の列を選択して、貼り付け (3) 元の4/16の列を選択して「削除キー」(内容のクリア) (4) 先頭の行に 4/17 と入れる という手順で。

freestyle7
質問者

お礼

有難うございました!確かにそういう手もありますね。でも、毎日の作業を考えると、nishi6さんの方法が便利だったりします。

関連するQ&A

  • エクセルでセルを挿入しても関数値を変更させない方法

    C1せるに計算値=a1+b1設定します 次にaとbの間に列を挿入します すると、c1セルの計算値は自動的に=a1+c1となります。 つまりはじめにa1に10、 b1に20と入力すると、cの値は30 でセルを挿入しても30のまんまということですが、 このセル(列)を挿入しても、計算式はa1+b1の まんまにはできないのでしょうか? アドバイスありましたら よろしくお願いします。 わかりずらい説明でごめんなさい

  • 列を挿入した時数式も

    こんばんは  初心者ですので上手く説明出来るか不安です。よろしくお願いします。エクセル2000を使っています 例えばA1番セルに1月、B1に30、C1に2月、D1に40、E1に合計「=SUM(B1,D1)」が入っています。E列・F列を選択して列挿入をすると合計はG1に移動しますよね。新たに、E1に3月、F1に50と入力した時に列挿入時に移動した合計セルG1の数式は「=SUM(B1,D1)」のままなんですが、自動的に「=SUM(B1,D1,F1)」にする事は可能なんでしょうか? よろしくご指導くださいます様 お願い致します

  • セルに入力後次のセルに移動

    請求書を作成しています。 現在は条件付き書式で「セルの値が/次の値に等しい./0」「書式/パターン、色、グレー」として設定しています。 グレーの所を誰でもデーターを入力するところが分かるようにしています。 例えば下記のところがデーターを入力するセルです。 B1  B3  C10  C15  F15  G15  B36 ご相談なのですか゛ 例えば B1に入力したら次のセル、B3に また次にC10と自動的に指示することが何かの関数 式などを使って出来ない物でしょうか。 お知恵を貸していただけば幸いです。 余り詳しくない小生です。宜しく御願いします。

  • 色のついたセルの文字を消す

    お世話になります。 平成○○年○月     A  B C  D  E   F  G  1   月 火 水 木 金 土 日 2   ○ ○ ○ ○ ○ ○ ○ 3   ○ ○ ○ ○ ○ ○ ○ 4   ○ ○ ○ ○ ○ ○ ○ 5   ○ ○ ○ ○ ○ ○ ○ 6   ○ ○ ○ ○ ○ ○ ○ 上記のようなデータがあり、条件付き書式のルールで土曜日と日曜日のセル(F2からF6とG2からG6)、にはセルに色がついています。マクロをつかって、色のついたセルの〇を自動で消したいのですが、そういうことは可能でしょうか? ちなみに月日を変えると曜日は自動で変わるようになっています。 よろしくお願いします。

  • エクセルの時間の合計が表示されないんですが・・

    すみません、以前も休憩時間の計算方法などでこちらで教えて頂いたのですが、 また、つまづいてしまいまして・・すみませんが教えてください。 エクセルで、勤怠管理をしています 負の表示はさせないように  セルの書式設定の表示形式をユーザー設定で [h]:mm;; としたところ、 その複数セルの時間合計をSUMで自動表示させようとしたところ空白になってしまいます。 どうすれば合計が計算表示されるのでしょうか? 時間表示は、0:00の60進法表示です。 具体的には下記のような表を作っています (必要ない情報かもしれませんが) Aセル:出社時間 Bセル:退社時間 Dセル:延時間 Eセル:休憩時間 Fセル:就労時間(=D-Eで自動表示) Gセル:8時間超勤務時間(=F-("8:00"*1)で自動表示) Gセルのみ、負の表示はさせないように セルの書式設定の表示形式をユーザー設定で [h]:mm;; としています そうしたところ、Gセルの時間合計をSUMで自動表示させようとしたところ空白になってしまいます。 どうすれば合計が計算表示されるのでしょうか? 宜しくお願いいたします。

  • エクセルで指定位置から何セル移動すると空白ではなくなるか?

    A1に計算式を挿入したいのです。 A1からG1セルの間で、A1から何個目が空白ではないセルが あるかというのがしりたいのです? つまり B1、C1、D1には空白を E1には10.5などの数字を F1、G1には空白としたとき A1には3(もしくは4)を表示させたいのです。 COUNTIFでは空白の個数をカウントしますが、ある値までの空白の個数をカウントなんてできますでしょうか? 動的な計算しきにしたくて、今回はB1にセルを挿入して(数字)、次回はまたB1にセルを挿入して今度は空白としていった場合に、最近の値が入ったセルを表示できればと 考えています。 申し訳ございません、説明がクリアーではなくって。 こんなことって可能でしょうか? アドバイスお願いします。

  • Excel 2010で、セルの計算式を次シートに

    Excel 2010で、セルに入力した前年比や前月比の計算式を次のシートに自動的に引き継ぐ方法を教えてください。

  • 日曜日に赤色をつけたい

    セルの書式設定で m"月"d"日"(aaa)の設定をしています。 表示は5月1日(木)になり、 これを元にカレンダーを作成しています。 そのため基準日移行は日にちと曜日が自動で出るように 元の値+1で式を入れて自動表示させています。 この自動表示された値のなかで(日)の場合にだけ、 セルの塗りつぶしを赤色で自動で設定できるように 条件付き書式でセルの色を指定したいと考えていますが、 なかなか思うように表示されません。 どうやったら設定できるかご教授宜しくお願いします。

  • Excel2007 条件付き書式 MIN及びMAXがうまくいかない

    Excel2007です。 条件付き書式で行方向にMAX(最大値)及びMIN(最小値)を塗りつぶしのため、画像で B2:G8を選択 セルの値が 次の値に等しい =MIN(B2:H2) 塗りつぶし赤 セルの値が 次の値に等しい =MAX(B2:H2) 塗りつぶし青 をせっていしたところ 画像のように複数のセルが塗りつぶされてしまいました。 書式設定方法に誤りがありますか? ある場合 条件付き書式の設定をどのようにすれば、最小値、最大値のみ書式を設定できますか。 お教え下さい。よろしくお願いします。

  • エクセルの条件付き書式設定を同列の行すべてに適用する方法について

    A1セルに10月1日と入力し7日後の10月8日がB1セルに自動計算入力しB1セルの文字色が経過日数8日以上で赤色になるようにする方法を、higekumanさま、S-Fujiさま、gyouda1114さまのお教え通り、 B1セルに「=IF(A1="","",A1+7)」条件付き書式で「数式が」を「=TODAY()-A1>=8」、フォント色を赤で出来ましたが、、、 この計算式を「B2」「B3」…とB列の行、全てに一瞬で適用するにはどうしたらよろしいでしょうか? ※A2セルに入力した計算結果はB2セルに、A3セルに入力した計算結果はB3セルに…という感じです。 条件付き書式を設定したB1セルのフィルハンドルをB列の下までドラッグした所、B2、B3…の条件付き書式の設定は「=TODAY()-A1>=8」でした。 手動でB2の条件付き書式の設定を「=TODAY()-A2>=8」、B3の条件付き書式の設定を「=TODAY()-A3>=8」としなければならないのでしょうか? 何方かご教示を願いします。

専門家に質問してみよう