たとえばAさんBさんCさんの月の売り上げの集計表があり別の表にAさんの4月の売り上げを引っぱってきたいというときどのような関数を使えばいいのでしょうか?
IF関数を使えば何とかなると思ってんですがエラーが出てしまいました

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

A 回答 (3件)

エクセルですよね?



縦軸が担当者、横軸が月次でしたら、
VLOOKUP関数で、担当者を引き当てる。
軸の使い方が縦横逆なら、
HLOOKUP関数でいかがでしょう?

 もう少し詳細を教えていただければ、
具体的な式もたてられると思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。
HLOOKUP関数を使うんですね
VLOOKUP関数しか使ったことがないんで・・・
解決しました

お礼日時:2001/09/13 13:33

 何のソフトを使っているのかわかりませんので詳しくは回答しにくいと思います。

それと売り上げを引っぱってきたいという意味がよくわかりません。単にAさんの月の売り上げの合計の数値を使いたいと言う意味でしょうか。

 例えば、EXCELなら単にセルの番地を呼び出せばいいのではないでしょうか。それとそれぞれを別のシートに分ける方が整理しやすいと思います。

 また、IF関数は、条件式ですからなにか条件を設定する必要があるのでしょうか。

 
    • good
    • 0

ごめんなさい。

質問が良くわからない。2つの条件が書いてないのですが・・・
IF関数で良いと思います
エラーになる式を補足てして下されば、少しはお役に立てるのですが・・・(ーー;)
頑張って下さい。
 
    • good
    • 0

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

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

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

Qエクセルで、=IF(A12="a",TRUE)は =A1="a"  ???

エクセルで、
=IF(A12="a",TRUE)

=A1="a"
と省略できるのですか?

やってみるとまったく同じようなのですが、いまいち不安です。

また、=IF(D4=TRUE,"OK!","No!")も、日頃=IF(D4,"OK!","No!")と略してますが、これも正しいんですよね?
気になったものですから確認させてください。

Aベストアンサー

こんにちは。maruru01です。

IF関数について、少し補足説明します。
IF関数は、No.1にもあるように、

=IF(条件式,真の場合,偽の場合)

という書式ですが、

=IF(条件式,真の場合)

と、偽の場合を省略することが出来ます。
ここで偽の場合は、FALSEという論理値を返します。
つまり、質問欄の1つ目の例に当たります。
なお、

=IF(条件式)

と、真の場合も省略することは出来ず、

=IF(条件式,,偽の場合)

と、空欄にすると、真の場合は数値の「0」を返すことになります。
ちなみに、偽の場合も、

=IF(条件式,真の場合,)

と、引数区切りのカンマだけ付けると、空欄と見なされて(省略とは異なる)数値の「0」を返します。

次に、条件式についてですが、
条件式は、

「左辺」+「比較演算子」+「右辺」

の書式になっているものを指します。
ここで、比較演算子とは、
「=、>、<、>=、<=、<>」
を指します。
条件式は、成立/不成立の結果、TRUE/FALSEという論理値を返します。
つまり、

=A1="a"

は、条件式の戻り値そのものを表示していることになります。
それに対して、IF関数の方は、条件式を判定した結果、真の場合と偽の場合をそれぞれ実行して表示しています。
その真の場合と偽の場合が、条件式の戻り値とちょうど一致しているということです。

さて、IF関数の第1引数は、通常は上記の条件式を指定しますが、実際はIF関数は第1引数を数値として判断しています。
その判定基準は、第1引数が、
0 → 偽の場合を実行
0以外 → 真の場合を実行
となります。
そして、第1引数が条件式の場合に限り、戻り値の論理値を、
TRUE → 1
FALSE → 0
と数値に変換して判定しているのです。
これが、質問欄の後半の2つの数式の挙動の違いの原因なのです。

=IF(D4=TRUE,"OK!","No!")

は、第1引数は「D4=TRUE」という条件式です。
この場合、戻り値は必ずTRUE/FALSE(=1/0)です。
(ただし、D4にエラーが入っている場合を除く)
一方、

=IF(D4,"OK!","No!")

の方は、第1引数は「D4」で、これはセルD4の値そのものです。
で、前述のように、IF関数は第1引数を数値として判定するので、このD4が数値(と論理値)以外の場合(文字列など)はエラーになります。
D4が数値(と論理値)の場合は、前述のように、「0」かそれ以外かで判定され、真/偽の場合のいづれかを実行して表示します。

このIF関数の第1引数が数値として判定されているということを利用した例が以下のようなものです。
例えば、A列に数値が1つでもあれば"OK"、1つもなければ(つまり0)"NG"を表示する場合、意味を考えれば、

=IF(COUNT(A:A)>0,"OK","NG")

ですが、これを、

=IF(COUNT(A:A),"OK","NG")

と、A列の数値の個数(COUNT関数の戻り値)そのもので判定することが出来るわけです。

以上、長くなりましたが、補足説明でした。

こんにちは。maruru01です。

IF関数について、少し補足説明します。
IF関数は、No.1にもあるように、

=IF(条件式,真の場合,偽の場合)

という書式ですが、

=IF(条件式,真の場合)

と、偽の場合を省略することが出来ます。
ここで偽の場合は、FALSEという論理値を返します。
つまり、質問欄の1つ目の例に当たります。
なお、

=IF(条件式)

と、真の場合も省略することは出来ず、

=IF(条件式,,偽の場合)

と、空欄にすると、真の場合は数値の「0」を返すことになります。
ちなみに、偽...続きを読む

QIF関数の条件に関数を指定

Excelに関する質問です。
ちょっと分かりづらいのですが、例えばセルA1とB1があるとします。
A1には別シートのセルが参照されています。(「="あ!A1"」など)

ここで、B1にはIF関数を入れたいのですが、その時A1の関数式内の文字を条件にしたいのですが、そういうことはできますか?

つまり、B1にIF関数で「A1セル内の関数式内に"あ"の文字がある時に"い"と表示する」のようにしたいのです。

普通に「=IF(A1="あ","◯","")」ではできません。

Google先生でも調べてみたのですが、分かりませんでした。

お知恵をいただければ幸いです。

Aベストアンサー

EXCEL2013であれば、

B1に
=IFERROR(IF(FIND("あ",FORMULATEXT(A1)),"○",),"")

でできます。

QExcel関数 集計についての関数について

品名 7列ごとの固まりが毎週ごとに右の列に送られる状態になります。週ごとに列が増えていく画像のような表があります。それの各行の集計についてです。

X4~AD42=SUM(INDEX(INDIRECT("RC38:RC177",0)*(MOD(COLUMN(INDIRECT("A1:EJ1"))-1,7)=COLUMN(A1)-1),0))

 以前に画像のような「レイアウト」で行の合計をするために、作って頂いた関数ですが、AL列からのものでした。それが、AE列に変更することになり、修正したのですがエラーになって合計してくれません。どのように変更したらよいでしょうか。教え頂けませんか、よろしくお願いします。
 なお、RC38がA列から38列目ではと思い、AEは後戻りした列と思って「RC31」にしてみましたが、できませんでした。その他色々とやってみましたが、エラーです。

下記のマクロで合計を以降していた

Range("AE1:AK45").Value = Range("Q1:W45").Value
  その週を以降したもの     その週の合計 
Range("AE1:AK45").Insert Shift:=xlToRight
  シフトしたため空白ができていた(つまり、AL~の合計になっていた)

               今後修正が必要なため、随時修正してゆく予定です

下記のようにしたら、空白がなくなった。このような修正で合計の以降がAE~になった。

Range("AE1:AK45").Insert Shift:=xlToRight
Range("AE1:AK52").Value = Range("Q1:W52").Value
  その週を以降したもの     その週の合計

 どのセルに入っていたのかについて、総合計(X4~AD45)のそれぞれに入ります。4行目のX4~AD4からを数式としてコピぺをしたら下記のように変化します。
COLUMN(A1)-1),0))のA1のところが、=A1~G42のように変化しています。その他は、変化しません。
 X~AD列
 4行  X4=A1 Y4=B1 Z4=C1 AA4=D1   AB4=E1   AC4=F1   AD4=G1
 5行  X5=A2 Y5=B2 Z5=C2 AA5=D2   AB5=E2 AC5=F2   AD5=G2
 6行  X6=A3 Y5=B3 Z6=C3 AA6=D3   AB6=E3 AC6=F3  AD6=G3
   ↓
45行 X45=A42 Y45=B42 Z45=C42 AA45=D42 AB45=E42 AC45=F42  AD45=G42

 RC38がALと考えるのであればAL~AR列にその週の以降したものが入る
  現在はAE~に変えられたが、合計がALからで、AEからになっていない関数になってしまっている。
 毎日の仕入れは、C列~I列に記録すると、週ごとと・累計に入るようになる。その後マクロでAE列からに順次増えてずれていくようになる。
 1週目が入れば、2・3・4週目・・・・というように、増えて行くのでRC177が20週程度の列になるということだと思います。(範囲ということだと思います)
 動かないのは、X~AD列が動かず固定してここに増えていったものの合計が表示されるのです

品名 7列ごとの固まりが毎週ごとに右の列に送られる状態になります。週ごとに列が増えていく画像のような表があります。それの各行の集計についてです。

X4~AD42=SUM(INDEX(INDIRECT("RC38:RC177",0)*(MOD(COLUMN(INDIRECT("A1:EJ1"))-1,7)=COLUMN(A1)-1),0))

 以前に画像のような「レイアウト」で行の合計をするために、作って頂いた関数ですが、AL列からのものでした。それが、AE列に変更することになり、修正したのですがエラーになって合計してくれません。どのように変更したらよいでしょうか。...続きを読む

Aベストアンサー

https://oshiete.goo.ne.jp/qa/9280099.html

=SUMIF(INDEX($3:$3,31):INDEX($3:$3,140),"A",INDEX(4:4,31):INDEX(4:4,140))
を提示済み

マクロが分かるなら、数式をマクロで書き直すだけのこと

Qエクセル IF関数の理論式にOR関数を使用したい

エクセル IF関数の理論式にOR関数を使用したいです。
エクセル初心者です。
エクセルを使って、さまざまな名簿を作っています。
その際、従業員の名前は分かるが、営業所を毎回調べなければいけません。
その為、例えば、B列に名前を入力すると、隣のA列に営業所名が自動的に表示されるようにするには
どうしたらいいでしょうか?
B列が空白の場合はA列も空白にしたいです。
営業所別の名前のデータは別枠に入力した状態です。
今、入力しているのが(例)ですが、、、

=IF(B1="","",IF(OR(B1=$E$1:$E$30),"A営業所",IF(OR(B1=$F$1:$F$30),"B営業所")))

しかし、これではB列に何かを入力しただけでA列に「A営業所」と表示されてしまします。
営業所は全部で4つあるので、まだ長い式になると思います。
分かりにくい説明で恐縮ですが、どうぞ、分かる方に教えて頂きたいです。よろしくお願いします。

Aベストアンサー

・IF(論理式,TRUEのときの値,FALSEのときの値)です。
論理式が成り立つとき(TRUEのとき)は、第二引数、成り立たないときは、第三引数で指定した値になります。
・OR(論理式1,論理式2)
論理式1または論理式2のどちらか、成り立つとき、TRUEになります。

記載頂いた式を少しずつ分解して説明します。
最初の「IF(B1="","",式①)」は、B1が空欄のときに空欄、そうじゃないときに式①の値になります。

式①についてですが、
IF(OR(B1=$E$1:$E$30),"A営業所",式②)
ここで、「B1=$E$1:$E$30」という式がおかしいです。(問題点)
”B1に入力した値が、$E$1:$E$30の範囲に一致する値があったら”という
論理式にしたいのでしょうか?(その前提で、以下に記載します。)

その場合、例えば、IF(COUNTIF($E$1:$E$30,B1),"A営業所",式②)とすれば良いです。
式②も同様ですね。

そこを修正すると以下の式になります。
IF(B1="","",IF(COUNTIF($E$1:$E$30,B1),"A営業所",IF(COUNTIF($F$1:$F$30,B1),"B営業所",式③))

式③には、B1の値が、$E$1:$E$30の範囲にも、$F$1:$F$30にも見つからなかった場合に、
何を表示するかを記載します。
例えば、”見つかりませんでした”というエラー文言だったり、"営業所不明"とかでしょうかね。

・IF(論理式,TRUEのときの値,FALSEのときの値)です。
論理式が成り立つとき(TRUEのとき)は、第二引数、成り立たないときは、第三引数で指定した値になります。
・OR(論理式1,論理式2)
論理式1または論理式2のどちらか、成り立つとき、TRUEになります。

記載頂いた式を少しずつ分解して説明します。
最初の「IF(B1="","",式①)」は、B1が空欄のときに空欄、そうじゃないときに式①の値になります。

式①についてですが、
IF(OR(B1=$E$1:$E$30),"A営業所",式②)
ここで、「B1=$E$1:$E$30」という式がおかしいで...続きを読む

Q例えば、AさんからGさんまでがA列に縦に並んでいてB列に数字が入っています。B列にある数字の合計をA

例えば、AさんからGさんまでがA列に縦に並んでいてB列に数字が入っています。B列にある数字の合計をA-Gさん別々に出したいんですが簡単なvbaの記述方法はないでしょうか?
お願いします。

Aベストアンサー

こんばんは!

A列のA~Gさんは複数存在しているのでしょうか?
そうであればSUMIF関数で対応できると思いますが、VBAをお望みだというコトですので
一例です。

元データはSheet1にあり、Sheet2に表示するとします。
尚、Sheet1の1行目は項目行でデータは2行目以降にあるという前提です。
標準モジュールにしてください。

Sub Sample1()
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
.Range("A:A").AdvancedFilter Action:=xlFilterCopy, copytorange:=wS.Range("A1"), unique:=True
lastRow = wS.Cells(Rows.Count, "A").End(xlUp).Row
With Range(wS.Cells(2, "B"), wS.Cells(lastRow, "B"))
.Formula = "=SUMIF(Sheet1!A:A,A2,Sheet1!B:B)"
.Value = .Value
End With
End With
End Sub

こんな感じではどうでしょうか?m(_ _)m

こんばんは!

A列のA~Gさんは複数存在しているのでしょうか?
そうであればSUMIF関数で対応できると思いますが、VBAをお望みだというコトですので
一例です。

元データはSheet1にあり、Sheet2に表示するとします。
尚、Sheet1の1行目は項目行でデータは2行目以降にあるという前提です。
標準モジュールにしてください。

Sub Sample1()
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
.Range("A:A...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報