A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
機能は思いつきませんが、「なにかいい手が無いでしょうか?」ということなのでユーザー定義関数を作ってみました。
他の統計関係の関数も同じように対応できるでしょう。=EXTaverage(主範囲,"追加範囲","除外範囲") とします。
セルにセットする時は
=EXTaverage(A1:C20,"C22:C24","B10:B12,C19") のようにします。
主範囲,追加範囲のみの場合は(主範囲,"追加範囲")
主範囲,除外範囲のみの場合は(主範囲,,"除外範囲")
主範囲のみの場合は(主範囲)とします。
この例では、セル範囲A1:C20にセル範囲C22:C24を追加し、セル範囲B10:B20とC19を除いた範囲の平均を計算します。
時間をかけていないので誤設定した場合エラーになります。しかし計算が不正になるようなセルの選択は一応チェックしています。ご容赦下さい。
真の回答とは言えないかもしれませんが参考にして下さい。
'***** 拡張平均計算 *************************
' rgMain :主範囲
' strPlus:追加範囲。""で囲んで設定します。
' strSubt:除外範囲。""で囲んで設定します。
'*******************************************
Public Function EXTaverage(rgMain As Range, Optional strPlus, Optional strSubt)
Dim calcSum As Double '値の計
Dim calcNum As Double '数値入力されたセル数
Application.Volatile '自動再計算関数にする
'主範囲と追加範囲の重複チェック
If Not IsMissing(strPlus) Then
If Not (Intersect(rgMain, Range(strPlus)) Is Nothing) Then
EXTaverage = "エラー": Exit Function
End If
End If
'主範囲と除外範囲の包含チェック
If Not IsMissing(strSubt) Then
If Union(rgMain, Range(strSubt)).Address <> rgMain.Address Then
EXTaverage = "エラー": Exit Function
End If
End If
'計算する
With Application
calcSum = .Sum(rgMain) '主範囲
calcNum = .Count(rgMain)
If Not IsMissing(strPlus) Then
calcSum = calcSum + .Sum(Range(strPlus)) '追加範囲
calcNum = calcNum + .Count(Range(strPlus))
End If
If Not IsMissing(strSubt) Then
calcSum = calcSum - .Sum(Range(strSubt)) '除外範囲
calcNum = calcNum - .Count(Range(strSubt))
End If
End With
'ゼロ判定
If calcNum > 0 Then
EXTaverage = calcSum / calcNum
Else
EXTaverage = "エラー"
End If
End Function
No.3
- 回答日時:
選択されたセル以外のセルを計算の対象にしたいということですよね。
答えはそような機能はEXCEL2000までのバージョンにはありませんので、出来ません。VBAでプログラミングすれば出来るかもしれませんが・・・(ホントに出来るかは不明)そもそも、CTRLキーを押しながらのクリックで、複数選択したセルの一部を解除することも出来ませんしね。
面倒ですが、マウスでドラッグ&クリック若しくはキーボードで入力のどちらかになってしまうかと思います。
No.2
- 回答日時:
結果から言えば、対象外のセルを除く考えはエクセルにはない様です。
手で、a1:a30,b1:b19,b21:b30,c1:c30と入力が面倒というのであれば、ctrlキーを押しながら対象セルをクリック又はドラッグして範囲を指定するとキーボードを打つ必要はなくなります。(このとき同じセルを選択した場合、複数回入力したことになってしまうので注意が必要です)
この回答への補足
ctrlキーを押しながらは使っているのですが、
例えば、もう1つセルを足す場合に、ctrlキーを押しながら
F1を押すと、数式上では「,F1」と入力されるように、数式上では
「a1:a30,b1:b19,b21:b30,c1:c30」と表示されても、
ショートカットキーの機能として、どこか押しながら
B20を押すと、「a1:a30,b1:b19,b21:b30,c1:c30」と表示される
という機能はやはり無いのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Excel(エクセル) エクセル・セルに数式を入力してセル指定計算 2 2023/04/21 12:46
- Excel(エクセル) エクセルVBA 複数行にまたがっている選択を判定するには 2 2023/05/21 21:54
- Excel(エクセル) 条件付き書式 ある範囲で色がついているセルと同行の別のセルに色を付けたい 4 2022/04/20 07:04
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) 4月~3月まで12カ月横に並んだ表へ指定範囲を貼り付けたい。 Sheet2の指定範囲、Range(" 2 2022/11/30 16:37
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/09 14:54
- Excel(エクセル) エクセル2013「次のページ数に合わせて印刷」が小さすぎる 9 2023/03/28 10:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで連続データから、数...
-
エクセルの画面で十字マークが...
-
excelで、スクロールをすると限...
-
セルをクリックすると付箋のよ...
-
エクセルでハイパーリンクのU...
-
EXCEL アルファベットと数字の...
-
エクセル 数値を全て「1」にす...
-
複数のセルの入力内容を一度に...
-
エクセルでカーソルが四方に矢...
-
エクセルVBAでセル範囲のデータ...
-
Excelで表のデータを並び替えた...
-
エクセルで1つおきに列を削除...
-
ピポットテーブルエラー解決方法
-
Excel選択を繰り返すとセルの色...
-
エクセルで0を除いて昇順に並...
-
エクセルの行数の制限
-
エクセル2016の特定の文字列を...
-
エクセルVBAリストボックスに表...
-
Excelの複数セル選択は、なぜ一...
-
初旬/中旬/下旬の並べ替え
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの画面で十字マークが...
-
excelで、スクロールをすると限...
-
エクセルで連続データから、数...
-
セルをクリックすると付箋のよ...
-
複数のセルの入力内容を一度に...
-
EXCEL アルファベットと数字の...
-
エクセルでハイパーリンクのU...
-
エクセル 数値を全て「1」にす...
-
Excelで表のデータを並び替えた...
-
エクセル 画面上の行数を調節...
-
Excel選択を繰り返すとセルの色...
-
エクセルでカーソルが四方に矢...
-
Shift押しながら、矢印ボタンで...
-
エクセルVBAでセル範囲のデータ...
-
エクセルで0を除いて昇順に並...
-
Excelで急に動かなくなる
-
エクセルの複数セルに同時に同...
-
フィルタを解除した後の表示位置
-
ピポットテーブルエラー解決方法
-
エクセルで「1~15」の乱数...
おすすめ情報