
No.3ベストアンサー
- 回答日時:
状況から察すると、VBAを使わないと、実用には耐えられないでしょう。
ユーザー定義関数を使う方法です。
使い方は、=CSUM( 範囲 , 色番号 ) です。
ちなみに 色番号は、黒=1、赤=3 です。
範囲内のフォント色や、値を変更した場合は、<Enter>等で確定した時点で
再計算されます。
参考まで、色番号(カラーインデックス)を調べる GetCIndx 関数も付け加えます。
使い方は、セルA1を調べる色で塗り潰し、B1に =GetCIndx(A1) を入力すると
その色番号が表示されます。 この値がマイナスになった場合は、色は「自動」に
設定されていますから、通常では色番号の引数に 1 を使用します。
一応、VBAコードの設定方法を書いておきますが、ご存知でしたら読み飛ばしてください。
1.Alt + F11 で VBE(Visual Basic Editor)を開きます。
2.VBE のメニューから[挿入] -->[標準モジュール] を指定します。
3.モジュールウィンドウに下記コードをコピーして貼り付けます。
4.Alt + Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります。
5.メニューから[ツール]-->[マクロ]-->[セキュリティ]で「セキュリティレベル」を
「中」にして[OK]します。
これで設定完了です。 CSum と GetCIndx 関数が使用できます。
Function CSum(R As Range, idx) As Double
Dim Rng As Range
Dim Cnt As Double
Application.Volatile
For Each Rng In R
If IsNumeric(Rng.Value) Then
If Rng.Font.ColorIndex = idx Then
Cnt = Cnt + Rng.Value
ElseIf idx = 1 And Rng.Font.ColorIndex = _
xlAutomatic Then
Cnt = Cnt + Rng.Value
End If
End If
Next Rng
CSum = Cnt
Function GetCIndx(Rng As Range)
If Rng.Count > 1 Then
GetCIndx = vbNullString
Exit Function
End If
GetCIndx = Rng.Interior.ColorIndex
End Function
No.7
- 回答日時:
作業列(どこでも良いがB列とします)を使います。
あとで列を非表示にする手もある。
(例データ)A1:A6に
123
23(赤フォント)
345
56(赤フォント)
67
67
(準備)VBEの標準モジュールにコピー貼りつけ。
たった4行。
Function cl(a)
n = a.Font.ColorIndex
cl = n
End Function
(関数式)
B1に=cl(A1)と入れる。
B2以下B6まで複写。
B列は
-4105
3
-4105
3
-4105
-4105
(合計を出す関数式)
赤字分=SUMIF(B1:B6,3,A1)赤はコード3だから。
黒字分=SUMIF(B1:B6,-4105,A1)黒は色なしの-4105だから。
(結果)
赤字分79
黒字分602
No.6
- 回答日時:
> 1.回答のコピーなどの後関数を入力したら
> End Functionがないとエラー画面とコピーした画面が表示されたので、指示
> どうりにしたら動きました。これはこのとうりでよろしいでしょうか
あらまぁ~。 ごめんなさい。
回答を貼り付けるときに1行、少なく貼り付けました。
CSum = Cnt の下に End Function の1行を挿入してください。
> 2.このエクセルのファイルを媒体で他のPCにコピーした場合使用できますか
> よろしくお願いします。
勿論使用出来ます。 但し、そのユーザーがセキュリティレベルを高にしていたり、
無効で開いた場合は、動作しません。
そのときは、先にも書いたように
メニューから[ツール]-->[マクロ]-->[セキュリティ]で「セキュリティレベル」を
「中」にして[OK]します。
No.5
- 回答日時:
色を使わない代案です。
A列 項目
B列 金額
C列 状態コード(支払済み=1,支払い予定=2)
D列 支払済み金額
E列 支払予定金額
のようにしてA,B,C列に入力します。D,E列は、
D10を =if(C10=1,B10,"")
E10を =if(C10=2,B10,"")
のようして自動的に値が入るようにします。
No.4
- 回答日時:
#3 ですが、使い方の具体例です。
> 使い方は、=CSUM( 範囲 , 色番号 ) です。
例えば、A1:A10 の範囲でフォント色が、「赤」の数字の値を合計する場合は、
=CSUM(A1:A10,3)
同じく、黒の数字は、 =CSUM(A1:A10,1) で求められます。
その他、関数の使い方は、一般の関数と同じです。
例えば、今、範囲内の赤色の数字であったものを黒に変更して<Enter>を押した時点で、
双方の値が加減されます。
たぶん、こういう機能を期待しているのではないでしょうか。
この回答への補足
まさに期待どうりの機能です。ありがとうございます。
おそれいいりますがこちらVBA初心者につき下記の2点補足して頂けないでしょうか。申し訳ありません
1.回答のコピーなどの後関数を入力したら
End Functionがないとエラー画面とコピーした画面が表示されたので、指示どうりにしたら動きました。これはこのとうりでよろしいでしょうか
2.このエクセルのファイルを媒体で他のPCにコピーした場合使用できますか
よろしくお願いします
No.2
- 回答日時:
作業列を使う方法ですが、
A1:A10に金額が入っている場合に、
B1:B10を作業列として、支払済みになった時にここに適当な文字(例えば「*」)を入れたらA列の金額が赤から黒に変わって、その合計がA11に、残りの支払い予定合計がA12に表示される
というのではいかがでしょうか。
具体的には
1)A1:A10を範囲選択して、書式→条件付き書式で
・「数式が」「=B1<>"*"」で書式→フォントの色を「赤」
・「数式が」「=B1="*"」で書式→フォントの色を「黒」
としてOK
2)A11に =SUMIF(B1:B10,"=*",A1:A10)
A12に =SUMIF(B1:B10,"<>*",A1:A10)
と入力
となります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- docomo(ドコモ) 「d払いご利用可能額」とご利用明細歴」が合わないのは何故ですか? 4 2023/01/28 03:59
- Excel(エクセル) 関数を教えてください 2 2022/12/29 21:01
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- 確定申告 個人の確定申告。「医療費のお知らせ」記載内容と医療費控除の明細書【内訳書】に記入する内容の関係 4 2023/03/04 18:41
- 確定申告 白色申告におけるクレジットカードのポイントの扱い 5 2022/05/03 20:17
- 確定申告 確定申告書 (青色申告、複式簿記) の作成を税理士に全てお願いした場合、支払った報酬は経費計上して、 2 2022/08/07 20:26
- ライフスタイル・ヘルスケア クレジットカードの使用履歴管理 1 2022/06/28 11:56
- 消費税 消費税の納税額の計算 1 2023/02/19 18:12
- 確定申告 出前館とUber Eatsの青色申告に、支払調書にあたる書類の添付は必要でしょうか。 毎回振込された 1 2023/02/12 11:31
- その他(クラウドサービス・オンラインストレージ) Googleカレンダーの予定の色を変えたい、文字色を変えたい。 1 2022/10/18 21:43
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
EXCELで条件付き書式で空白セル...
-
精子に血が・・・
-
【Excelで「正弦波」のグラフを...
-
尿検査の前日は自慰控えたほう...
-
EXCELで式からグラフを描くには?
-
イタリアから帰国する際、肉製...
-
至急!尿検査前日にオナニーし...
-
値が入っているときだけ計算結...
-
風俗店へ行く前のご飯
-
VLOOKUP関数を使用時、検索する...
-
精液の落とし方を教えてください
-
Excel 数値の前の「 ' 」を一括...
-
勃起する時って痛いんですか? ...
-
小数点以下を繰り上げたものを...
-
一番多く表示のある値(文字列...
-
excelでsin二乗のやり方を教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
尿検査前日に自慰行為した時の...
-
至急!尿検査前日にオナニーし...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
EXCELで条件付き書式で空白セル...
-
2つの数値のうち、数値が小さい...
-
VLOOKUP関数を使用時、検索する...
-
尿検査の前日は自慰控えたほう...
-
MIN関数で空白セルを無視したい...
-
小数点以下を繰り上げたものを...
-
風俗店へ行く前のご飯
-
エクセルで空白セルを含む列の...
-
Excel 数値の前の「 ' 」を一括...
-
【Excelで「正弦波」のグラフを...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
ある範囲のセルから任意の値を...
おすすめ情報