-PR-
締切済み

エクセルの範囲指定

  • 暇なときにでも
  • 質問No.67583
  • 閲覧数736
  • ありがとう数0
  • 気になる数0
  • 回答数4
  • コメント数0

セルの範囲指定で、例えば、「=average(A1:C30)」という計算式を入れるとします。
そこに、もう1つセルを足す場合は、「,F1」を足して、「=average(A1:C30,F1)」と
すると思うのですが、その逆は無いのでしょうか?
「A1:C30」という範囲指定の中の「B20」というセルは省いて範囲指定したい場合は、
なにかいい手が無いでしょうか?
エクセルにはそんな考え方はありませんか?
どなたかよろしくご教授ください!!
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全4件)

  • 回答No.1
レベル10

ベストアンサー率 33% (34/103)

(A1:C19,A20,C20,A21:C30) または (A1:A30,B1:B19,B21:B30,C1:C30) とするしかないような気がしますが。
(A1:C19,A20,C20,A21:C30)
または
(A1:A30,B1:B19,B21:B30,C1:C30)
とするしかないような気がしますが。
関連するQ&A


  • 回答No.2
レベル11

ベストアンサー率 34% (139/407)

結果から言えば、対象外のセルを除く考えはエクセルにはない様です。 手で、a1:a30,b1:b19,b21:b30,c1:c30と入力が面倒というのであれば、ctrlキーを押しながら対象セルをクリック又はドラッグして範囲を指定するとキーボードを打つ必要はなくなります。(このとき同じセルを選択した場合、複数回入力したことになってしまうので注意が必要です) ...続きを読む
結果から言えば、対象外のセルを除く考えはエクセルにはない様です。

手で、a1:a30,b1:b19,b21:b30,c1:c30と入力が面倒というのであれば、ctrlキーを押しながら対象セルをクリック又はドラッグして範囲を指定するとキーボードを打つ必要はなくなります。(このとき同じセルを選択した場合、複数回入力したことになってしまうので注意が必要です)
補足コメント
noname#40795

ctrlキーを押しながらは使っているのですが、
例えば、もう1つセルを足す場合に、ctrlキーを押しながら
F1を押すと、数式上では「,F1」と入力されるように、数式上では
「a1:a30,b1:b19,b21:b30,c1:c30」と表示されても、
ショートカットキーの機能として、どこか押しながら
B20を押すと、「a1:a30,b1:b19,b21:b30,c1:c30」と表示される
という機能はやはり無いのでしょうか?
投稿日時 - 2001-04-24 11:48:31
  • 回答No.3
レベル11

ベストアンサー率 34% (139/407)

選択されたセル以外のセルを計算の対象にしたいということですよね。答えはそような機能はEXCEL2000までのバージョンにはありませんので、出来ません。VBAでプログラミングすれば出来るかもしれませんが・・・(ホントに出来るかは不明) そもそも、CTRLキーを押しながらのクリックで、複数選択したセルの一部を解除することも出来ませんしね。 面倒ですが、マウスでドラッグ&クリック若しくはキーボードで ...続きを読む
選択されたセル以外のセルを計算の対象にしたいということですよね。答えはそような機能はEXCEL2000までのバージョンにはありませんので、出来ません。VBAでプログラミングすれば出来るかもしれませんが・・・(ホントに出来るかは不明)

そもそも、CTRLキーを押しながらのクリックで、複数選択したセルの一部を解除することも出来ませんしね。

面倒ですが、マウスでドラッグ&クリック若しくはキーボードで入力のどちらかになってしまうかと思います。
  • 回答No.4
レベル13

ベストアンサー率 68% (791/1163)

機能は思いつきませんが、「なにかいい手が無いでしょうか?」ということなのでユーザー定義関数を作ってみました。他の統計関係の関数も同じように対応できるでしょう。 =EXTaverage(主範囲,"追加範囲","除外範囲") とします。 セルにセットする時は =EXTaverage(A1:C20,"C22:C24","B10:B12, ...続きを読む
機能は思いつきませんが、「なにかいい手が無いでしょうか?」ということなのでユーザー定義関数を作ってみました。他の統計関係の関数も同じように対応できるでしょう。
=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
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ