
Excelのあるシートに以下の表があります。
E列 ・・・・・・ F列 ・・・ G列
17行 2008/1/5 ・・ 売上 ・ 1,500
18行 2008/2/10 ・・売上 ・ 2,100
19行 2008/3/11 ・・売上 ・ 1,700
20行 2008/3/18 ・・売上 ・ 1,000
21行 2008/4/1 ・・・売上 ・ 2,500
23行 2008/3/15 ・・・・・・・ 3,500
この場合G23セルには=SUMIF(E17:E21, ">" & E23,G17:G21)
という式が入っており、結果的に3,500という数字が見えます。
しかし、このG23セルにマクロにて式を書込み同じ3,500という
値を出したいのですが、マクロ上では何と記述すれば同じに
なるのか教えて下さい。
例えばrange("G23").Fomula= "=SUMIF(E17:E21, ">" &E23,G17:G21)
と記述してもエラーになってしまいます。
No.1ベストアンサー
- 回答日時:
Range("G23").Formula = "=SUMIF(E17:E21, "" > "" & E23,G17:G21)"
こうではないかな。
お返事が遅くなり申しわけありませんでした。
お蔭様でうまくいきました。
回答いあただいたRange("G23").Formula = "=SUMIF(E17:E21, "" > "" & E23,G17:G21)" をやってみましたが、エラーがなかなかわかり
ませんでしたが、">"を" > "でやっていたためのエラーでした。
No.3
- 回答日時:
こんにちは。
ある程度のExcel自体を知らないと、話は理解されないと思いますが、
確かに、G23 の23行目が固定した行なら、数式も、A1方式の固定式でよいと思います。だから、
Range("G23").FormulaLocal = "=SUMIF(E17:E21, "">"" &E23,G17:G21)"
となりますが、E17:21, E23, G17:G21 は、すべて、相対参照式で書かれていますから、
数式を入力する場所が、その回では、G23 であり、そのセルに対して、E23 があり、その検索範囲と集計範囲が、E17:21, G17:G21 と、すべて相対的位置関係にあるものだと思うのです。G23 は、次は、G40 かもしれません。
実際に、どのような数式を入れたいのかは分かりませんが、例えば、相対参照位置にあるもので、セルの範囲が、上に遡って5セルなら、このような数式になります。言い換えると、R1C1方式は、相対位置を表すもので、統一した数式で書けます。
With Range("G23")
If .Row > 6 Then
.FormulaLocal = "=SUMIF(R[-6]C[-2]:R[-2]C[-2],"">""& RC[-2],R[-6]C:R[-2]C)"
End If
End With
No.2
- 回答日時:
=SUMIF(E17:E21, ">" & E23,G17:G21)
こういう文字列を作成すればいいわけですから
先ず、両端を、”(ダブルクォーテーション)で囲みます
実際は、半角の「"」です。
”=SUMIF(E17:E21, ">" & E23,G17:G21) ”
そして、問題は、”>” これです。
これは、ダブルクォーテーションで囲まれた状態で表示しなければならないので
””>””
このようにさらに、””で囲まないといけません。
要するに、” を表示したいときは、”” とふたついるということです。
”=SUMIF(E17:E21, ””>”” & E23,G17:G21) ”
で、以下のようにすればいいわけです。
Range("G23").FormulaLocal = "=SUMIF(E17:E21, "">"" & E23,G17:G21)"
以上。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SUMIF関数で、「ブランク以外を...
-
文字列から英数字のみを抽出す...
-
excelで、空白を除いてデータを...
-
セルを結合した時のエクセル集...
-
自分の左隣のセル
-
同一セル内の重複文字を削除し...
-
文字数のカウントと平均数の算出
-
エクセル1行おきのセルを隣の...
-
エクセルで、指定の値よりも大...
-
エクセルで特定のセル内にだけ...
-
週の労働時間を計算するエクセル
-
EXCELでマイナス値の入ったセル...
-
エクセルで、A2のセルにA3...
-
エクセルに入力後、別シートの...
-
EXCELのcountif関数での大文字...
-
Excelで日付が入っていたら金額...
-
Excelで大量のセルに一気に関数...
-
【Excel】4つとばしで合計する方法
-
エクセルで年月日から月日のみへ
-
エクセル関数またはVBAについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUMIF関数で、「ブランク以外を...
-
文字列から英数字のみを抽出す...
-
自分の左隣のセル
-
excelで、空白を除いてデータを...
-
セルを結合した時のエクセル集...
-
エクセル1行おきのセルを隣の...
-
EXCELのcountif関数での大文字...
-
同一セル内の重複文字を削除し...
-
エクセルで特定のセル内にだけ...
-
エクセルで、指定の値よりも大...
-
週の労働時間を計算するエクセル
-
EXCELでマイナス値の入ったセル...
-
エクセルで、A2のセルにA3...
-
【Excel】4つとばしで合計する方法
-
エクセルに入力後、別シートの...
-
条件付き書式の色付きセルのカ...
-
エラー「#REF」の箇所を置き換...
-
エクセルで年月日から月日のみへ
-
エクセル 12進数
-
一時間当たりの製造数を調べた...
おすすめ情報