エクセルの関数についてなのですが$マークや#マークを
どのような時に使い関数の数式を入れるのか良く理解できません。
これをマスターしないと自分で数式を組むことはできないと思うので
どなたか素人の私でも理解できるように教えて下さい。
宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (8件)

$については、みなさんが明記されているとおり、


数式内のセル番地を絶対参照で指定する場合に使います。

どんなときに利用するかというと、

 | A | B | C |
--------------
1|社名 |人数 |割合 |
--------------
2|A社 | 60|   |
--------------
3|B社 |120|   |
--------------
4|C社 |180|   |
--------------
5|合計 |360|   |

上記のような表があり、C列に割合を求めるときの式は、

 =各社の人数/人数の合計

となります。

上記の図の場合、C2に「=B2/B5」と相対参照で式を作成し、
その後C3~C4にコピーすると、式はコピー先に応じて

  =B2/B5
   ↓  ↓
  =B3/B6
   ↓  ↓
  =B4/B7

と変化します。この場合、B2がB3→B4と変化するのはよいのですが、
B5はB6→B7と変化せずに、ずっとB5のままでなければいけません。
(B6、B7には合計は入力されていないのでエラーとなる為)

「絶対参照」とは、「移動やコピーをしても変化せずに”絶対にそのセルを参照したい”」
というときに設定するものですので、
C2に「=B2/$B$5」という数式を作成しておけば
その後コピーをしても

  =B2/$B$5
   ↓   ↓
  =B3/$B$5
   ↓   ↓
  =B4/$B$5

と変化し、人数の合計は、”絶対に「B5」を参照する”ことになります。
その結果、上記の図では各社とも正しい割合が求められるわけです。

このように、絶対参照を使うときというのは、
数式を1つ作成し、その後その数式を基に移動やコピーをしても
参照するセル番地を変化させたくない場合によく使います。

よって、数式をひとつしか作らず、なおかつ作成した数式を
別のセルに移動・コピーしない場合はあまり気にする必要はありません。
ただ、EXCELを使うんであれば必ず理解しておかなけれいけない内容になります。

というのが、ふだん私がスクールの生徒さんに絶対参照を説明する際使う説明です。
これで、おわかりいただけるとよいのですが。
    • good
    • 0
この回答へのお礼

とてもわかりやす説明ありがとうございました。
絶対参照の事は良く理解できました。
#に関してはいかがでしょうか?
是非教えて下さい。
よろしくお願いします。

お礼日時:2001/03/06 09:03

またまたです。


数式ばかりに目が行っていました。お詫び致します。
「#」を使うのは、書式設定の時にしか使ったことがありません。
不要な「0(ゼロ)」を消して、3桁毎に「,」を付けるときです。
例えば、書式設定で、「#,##0;-#,##0」としておいて、
「15」と入力すると「15」、「1500」と入力すると「1,500」、「1500000」と入力すると「1,500,000」と表示させる時等に用います。
マイナス数値の場合、数値の前に-が表示されます。
なお、書式設定では、例以外にも数値に色を付けたりすることが出来ます。
色を付けたりする場合は、書式設定の中のユーザ設定で行ってください。
    • good
    • 0
この回答へのお礼

色々とご親切にありがとうございました。
又何かありましたら是非よろしくお願いします。

お礼日時:2001/03/07 08:47

#マークの件ですが、数式内で使う場面に出くわしたことがありません。


(私が知らないだけなのかもしれないのですが)

私が思いつく#マークが表示される場面というのは、
列幅が足りなくてセル内の数値が「#####」に置き換わって表示される場合か、
正しい計算結果が求められたかったときなどに表示されるエラー値(#N/Aや#REF!など)
の先頭に表示されるぐらいなのです。

どちらも、必要に応じてEXCELが勝手に表示するものですから、
わざわざ入力して使ってるわけではありません。

ご質問の内容は、上記とは違い自ら数式に入力して使う場合のお話なので、
すみませんがわかりませんでした。
お役に立てなくてごめんなさい。
    • good
    • 0

再びです。

番地には、絶対番地と相対番地があります。
詳しい解説は過去に質問がありますので、下記URLをごらんください。
とても分かり易い説明です。

$を付ける理由については、ponnohakoさんが解説されています。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=42155
    • good
    • 0
この回答へのお礼

度々のご回答ありがとうございました。
良く理解できました。
これからも又色々と教えて下さい。

お礼日時:2001/03/06 09:06

こんにちは



 以下のページで関数のいろいろな使い方を解説しておりますので、ご覧になってみてください。

【エクセル技道場】-関数
http://www2.odn.ne.jp/excel/waza/function.html

参考URL:http://www2.odn.ne.jp/excel/waza/function.html
    • good
    • 0
この回答へのお礼

ありがとうございました。是非参考にさせていただきます。
又何かありましたらよろしくお願いします。

お礼日時:2001/03/05 16:41

#マークは分からないのですが、$マークは、絶対番地を使用する時に用います。


A1が2 B1が=$A$3*A1
A2が4 B2が=$A$3*A2
A3が6 B3が=$A$3*A3 とすると
結果はB1は12
   B2は24
   B3は36 になります。

この回答への補足

すみません。本当に良く分っていないのですが
このA1が2 B1が=$A$3*A1の$A$3とは
どんな意味になるのでしょうか?
絶対番地の意味が良く分らないのですが‥。
お時間のある時お返事していただけると幸いです。

補足日時:2001/03/05 16:46
    • good
    • 0
この回答へのお礼

ありがとうございました。是非参考にさせていただきます。
又何かありましたらよろしくお願いします。

お礼日時:2001/03/05 16:41

セル番地の絶対値指定の場合に$を使います。


例えば割合を出す時、合計/データ1、合計/データ2という計算式を使うとします。この時、合計が入力されたセル番地にこの$(ファンクションキーの4を押すとこの設定になります)を使うと、コピーをした時に絶対値指定したセルが動かずにすみます。
 基本中の基本なので、これを知らないとなると・・・(汗)
 教本に詳しく書いてあります。
    • good
    • 0
この回答へのお礼

ありがとうございました。是非参考にさせていただきます。
又何かありましたらよろしくお願いしま

お礼日時:2001/03/05 16:40

 $マークの方ですが、確かセル番地を固定する時に使うんです。


詳しく説明できないんですが・・・すみません(^^;
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。
又何かありましたらお願いします。

お礼日時:2001/03/05 16:38

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QSUMPRODUCT($A$1:$A$10,$B$1:$B$10)とSUMPRODUCT($A$1:$A$10*$B$1:$B$10)

エクセルのSUMPRODUCT関数についてお尋ねします。

=SUMPRODUCT($A$1:$A$10,$B$1:$B$10)

=SUMPRODUCT($A$1:$A$10*$B$1:$B$10)
の違いは何でしょうか?
両者とも同じ答えを返しますが、いろいろ試したところ、前者は範囲内に文字列があってもそれを無視して計算し、後者は文字列があればエラーになるようですが、その理解で正しいでしょうか?
正しいとすれば、なぜでしょうか?

Aベストアンサー

こんばんは。

配列計算をしているのは言うまでもありませんが、この、SUMPRODUCT は、必ず、内部のひとまとまりから計算するという性質を持っています。ただ、VBAのように左から時系列かどうかは、言語が違いますから、分かりません。しかし、この引数は、パラメータ配列になっています。そして、その引数それぞれの有効値を調べて、それを演算出来る値かどうか調べます。

文字列を入れてもエラーにならないのは、元々、そこに注釈などを入れるために考えられたものです。値を文字列か数値かを精査して演算するように出来ています。最初、SUM関数に対し、そのように作られました。プログラムとしては、初歩的なものですが、そのアイデアは、今日まで、踏襲しているようです。このオリジナルの仕組みを考えたのは、VisiCalc の開発者、ブルックリン氏です。昔々、本で読んだことがあります。 PRODUCT関数とも共通です。3つの関数は、同じような仕様を持っています。

こちらが、本来の使い方です。

=SUMPRODUCT($A$1:$A$10,$B$1:$B$10)

つまり、
$A$1:$A$10 と $B$1:$B$10 の値を別々に取得しています。

では、
=SUMPRODUCT($A$1:$A$10,$B$1:$B$11)

とすると、なぜ、エラーが出るかというと、$B$11 に対応する数値が、NULL値(有効な値がない)だからです。それは、全体に反映させてしまいます。(理由は分かると思いますが、プログラムが途中で、エラーで止まってしまうからです)

ところが、こちらは、

=SUMPRODUCT($A$1:$A$10*$B$1:$B$10)

$A$1:$A$10*$B$1:$B$10 は、分割出来ません。したがって、この数式の中でのエラーは、そのまま、元の数式に反映されます。

ご自分で、ユーザー定義関数を作ってみれば分かります。VBAでも、同じように作ることが可能です。一度、試してみるとよいです。

こんばんは。

配列計算をしているのは言うまでもありませんが、この、SUMPRODUCT は、必ず、内部のひとまとまりから計算するという性質を持っています。ただ、VBAのように左から時系列かどうかは、言語が違いますから、分かりません。しかし、この引数は、パラメータ配列になっています。そして、その引数それぞれの有効値を調べて、それを演算出来る値かどうか調べます。

文字列を入れてもエラーにならないのは、元々、そこに注釈などを入れるために考えられたものです。値を文字列か数値かを精査して演算...続きを読む

Q=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

いつもお世話になってます。
以下の関数式について、お時間がありましたらどうぞご教示ください。

=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE))

「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」

純粋になんでこのような構文になるのかが解りません。

1.ISNAってそもそもなんでしょう?
2.同じ式を繰り返すのはなぜ?
(模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。)

・参考となる他所のページがあれば教えて下さい。
・素人です。お手柔らかにお願いします。

(エクセル2003)

Aベストアンサー

1.ISNAってそもそもなんでしょう?
ISで始まる情報関数の一つで、#N/A!エラーのみを判定する関数
結果はTRUE(真),FALSE(偽)のいずれかになります。
エラー判定のIS関数には他に
ISERR:#N/A!を除くすべてのエラーを判定する関数
ISERROR:すべてのエラーを判定する関数
があります。

2.同じ式を繰り返すのはなぜ?
ISNAの判定する値がセルでなく数式の結果だからです。
A2=VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)
なら
A3=IF(ISNA(A2),"",A2)
ということになります。A2のように計算の為のセルを省略する為に
=IF(ISNA(数式),"",数式)のように同じ数式を2回繰り返しになってます。

Q"$B$32:$H$32,$K$32:$N$32,$P$32:$AH$32" を変数に置き換えたい

こんにちは。よろしくお願いします。いつもgooの皆さんには大変お世話になっています。
エクセルは2013です。どなたか教えてください。

質問内容
Wクリックの範囲指定が現状はこのようになっています
If Not Intersect(Target, Range("$B$32:$H$32,$K$32:$N$32,$P$32:$AH$32")) Is Nothing Then

行を指定する32を
Dim shg as long
shg=32
とした場合、上記の範囲指定を & と変数 shg でつなげていくと、あまりにも長くなってしまいます
もっとスマートな書き方はないでしょうか

Aベストアンサー

If Not Intersect(Target, Rows(shg), Range("$B:$H, $K:$N, $P:$AH")) Is Nothing Then

QSUMIFS?COUNTIF?とSUBTOTALを合わせたような数式を組みたい。

どう質問をしたらよいかわからず、タイトルを上記のようにしました。。。
したいことは、SUBTOTALのようにフィルタをかけた状態で商品名ごとに
数量、売上金額、粗利益を集計したいです。
その際、商品によっては複数条件に該当する商品を合計したいので
その場合の数式をご教授頂ければ幸いです。

添付のようなデータがあります。
854行目から888行目までを参照して、それぞれ数量:O1~O3、売上金額:R1~R3、粗利:Z1~Z3に
それぞれSUBTOTAL関数を入れて合計を出しています。
また、参照1を、現在アナログで該当する商品名まで引っ張って参照させています。

タイプでいうとO6:O861まで。タイプが25タイプ、26タイプのところまで。集計条件が2つです。
カシミヤ、コットンに関しては27カシミヤ、28コットンと集計条件が1つです。
他の商品に関しては、条件が4つ、5つとある為複数条件になる場合もあります。

これを他の列で条件フィルタをかけた状態のまま複数条件で合計を出したいと思い
いろいろ調べたのですがいい方法が見つけられず困っております。

説明が不足している場合は、補足いたしますので何卒よろしくお願いいたします。

どう質問をしたらよいかわからず、タイトルを上記のようにしました。。。
したいことは、SUBTOTALのようにフィルタをかけた状態で商品名ごとに
数量、売上金額、粗利益を集計したいです。
その際、商品によっては複数条件に該当する商品を合計したいので
その場合の数式をご教授頂ければ幸いです。

添付のようなデータがあります。
854行目から888行目までを参照して、それぞれ数量:O1~O3、売上金額:R1~R3、粗利:Z1~Z3に
それぞれSUBTOTAL関数を入れて合計を出しています。
また、参照1を、現在アナ...続きを読む

Aベストアンサー

個数ならCOUNTIFS関数。
売上、利益ならSUMIFS関数。

COUNTIFS関数は指定した条件を満たす場合にカウントされる。
 =COUNTIFS(検索条件範囲1,検索条件1,検索条件範囲2,検索条件2…)
のように条件の範囲とその条件を指定して使う。
フィルタをかけた後に表示されていることを条件にするのだから、I列に対して「1」以上の値が入っていることを条件の一つにする。
そして集計したい商品であることを条件にするのだから、N列に対して「指定する商品名」であることをもう一つの条件にする。

SUMIFS関数は指定した条件を満たす場合に合計される。
 =SUMIFS(合計範囲,検索条件範囲1,検索条件1,検索条件範囲2,検索条件2…)
と、COUNTIFS関数に「合計範囲」が指定される。


・・・
基本的に検索条件は文字列で与える。
1以上であれば、
 ">=1"
と、ダブルクォーテーションで囲う。
 AA1セルに「4」という数値が入力されていて、4以上と条件を指定したいときは
 ">="&AA1
のように”以上”を示す文字列を結合して文字列にする。

同じ数値や文字列を検索する場合は「数値のまま」や「等しい」を示す文字を含めなくても良いが、混同して覚えると間違いを招くので、
 "="&AA1
のように”等しい”を示す文字列と結合して使うと覚えておきましょう。


下の図は例です。
この質問ではフィルタ処理したセルに対してSUBTOTAL関数で「マーク」を付けることを勧めていますが、
フィルタで除外されたセルが影響しないことを示すためこの例では「マーク」の列の値を手で入力しています。

個数ならCOUNTIFS関数。
売上、利益ならSUMIFS関数。

COUNTIFS関数は指定した条件を満たす場合にカウントされる。
 =COUNTIFS(検索条件範囲1,検索条件1,検索条件範囲2,検索条件2…)
のように条件の範囲とその条件を指定して使う。
フィルタをかけた後に表示されていることを条件にするのだから、I列に対して「1」以上の値が入っていることを条件の一つにする。
そして集計したい商品であることを条件にするのだから、N列に対して「指定する商品名」であることをもう一つの条件にする。

SUMIFS関数は指定した条...続きを読む

Q■□■読み方■□■ #N/A, #VALUE!, #REF!,DIV/0!,#NUM!, NAME?, #NULL

前に、似たような質問をされている方がおりましたが、明確な答えが出ておりませんでしたので教えていただけますでしょうか。
以下のようなエクセルのエラー項目の
読み方を教えていただけませんでしょうか。
#N/A
#VALUE!
#REF!
DIV/0!
#NUM!
NAME?
#NULL
よろしくお願いします。
なお、意味は結構です。あくまで読み方を教えていただきたいのです。
しかも、カタカナでお答えいただくと助かります。
勝手言って申し訳ないですが、
よろしくお願いします。

Aベストアンサー

<方法1>略語の由来となっている英語を言う。
※冠詞は省いています。英語の表現は他にもあります。

#N/A Not Available Value ナット・アヴェイラブル・ヴァリュー
#VALUE! Wrong Type of Value ローング・タイプ・オヴ・ヴァリュー
#REF! Invalid Cell Reference インヴァリッド・セル・リファレンス
#DIV/0! Divided by Zero ディヴァイディッド・バイ・ゼロ
#NUM! Invalid Number インヴァリッド・ナンバー
#NAME? Unrecognized Name アンリコグナイズド・ネイム
#NULL! Null Intersection ナル・インターセクション

<方法2>書いてある字をそのまま読む。

#N/A エヌエー
#VALUE! バリュー
#REF! レフ
#DIV/0! ディブゼロ
#NUM! ナム
#NAME? ネーム
#NULL! ナル(ヌル)

<方法3>適当な英語で代表させて「エラー」をつける。

#N/A ノットアベイラブルエラー
#VALUE! バリューエラー
#REF! リファレンスエラー
#DIV/0! ディバイデッドバイゼロエラー
#NUM! ナンバーエラー
#NAME? ネームエラー
#NULL! ヌルエラー

<方法4>日本語を混ぜる。

#N/A 無効エラー
#VALUE! バリューエラー
#REF! 参照エラー
#DIV/0! ゼロ割りエラー
#NUM! ナンバーエラー
#NAME? 名前エラー
#NULL! ヌルエラー

<方法1>略語の由来となっている英語を言う。
※冠詞は省いています。英語の表現は他にもあります。

#N/A Not Available Value ナット・アヴェイラブル・ヴァリュー
#VALUE! Wrong Type of Value ローング・タイプ・オヴ・ヴァリュー
#REF! Invalid Cell Reference インヴァリッド・セル・リファレンス
#DIV/0! Divided by Zero ディヴァイディッド・バイ・ゼロ
#NUM! Invalid Number インヴァリッド・ナンバー
#NAME? Unrecognized Name アンリコグナイズド・ネイム
#NULL! Null Intersection ナル...続きを読む


人気Q&Aランキング

おすすめ情報