人に聞けない痔の悩み、これでスッキリ >>

現在前任者が使っているエクセルファイルを使いやすくするために、エクセル勉強中です。他の方の質問や回答を見させていただいてとてもためになりました!しかし・・・つまずいてしまったので教えてください★
A支店 東京地区 在庫数
         収入
         支出
B支店 東京地区 在庫数 
         収入        
         支出
C支店 大阪地区 在庫数
         収入
         支出
___________
合計  件  在庫数
       収入
       支出

といった表をオートフィルタを使って、subtotal関数で在庫数、収入、支出の合計と件数を出したいのですが・・・
収入と支出は上手くいくのですが、在庫数が上手くいきません。データはすべて直接入力ではなくVLOOKUPで持ってきており、収入と支出は00千円という書式設定をしています。この場合、何がいけなくて在庫数だけが#VALUE!という表示になってしまうのでしょうか?
ちなみに、=SUMPRODUCT((MOD(ROW(データ行),3)=0)*SUBTOTAL(2,INDIRECT("C"&ROW(データ行)))*データ行)という式を入れています。
また、たとえば東京地区のみの件数の出し方を教えてください。
わかりにくい質問で申し訳ありませんが、どなたかご回答宜しくお願いいたします。

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

A 回答 (7件)

こんばんは。

Wendy02です。

追伸:

#前回の範囲と同じということにすれば、以下のようにしか今は思いつきません。

私は、なるべく配列の確定をしないで、できる数式がないか探していました。今、やっと、私のイメージにあるものが、出来ましたので、ここに書いておきます。(使わなくても結構です)

4行目, 7行目, 10行目, 13行目 のそれぞれのセルを個別に計算する数式です。

=SUMPRODUCT(SUBTOTAL(9,INDIRECT("C"&ROW(INDIRECT("C1:C"&ROWS(C2:C13)/3))*3+1)))
    • good
    • 0
この回答へのお礼

Wendy02様
ありがとうございます。ずばり私の求めていた回答でした!できるんですね~。感激です。
せっかく教えていただいた式も、内容をわかっていなかったら応用できないのでがんばって勉強します^^配列数式も使ったことがなくちょっと抵抗があったので、今回の式を使わせていただきました!社会人二年目でまだまだな私ですが、Wendy02さんを目標にがんばります!!

お礼日時:2006/08/23 10:14

mipmip様


こんにちは。Wendy02です。

私も感激です!

配列数式は、一種のパターンで、通常、誰かが考えたパターンを借りているに過ぎません。そんなに多くのパターンがあるわけではありません。前任者の方は、たぶん、達人に近いほうだと思います。元の式は、私個人ですと、じっくりと考える手間を惜しんで、たぶん、VBAで作ってしまうだろうと思います。

それで、今回の数式は、今までにはないオリジナル・パターンが出来たので、大変にうれしいです。最初は、ダメかと思いました。

そこで、その数式の解析しかたを教えておきます。
これは、私が教わった、配列数式の作り方のコツです。

=SUMPRODUCT(SUBTOTAL(9,INDIRECT("C"&ROW(INDIRECT("C1:C"&ROWS(C2:C13)/3))*3+1)))
================================================

メニューの中の[ツール]-[ワークシート分析]-[数式の検証]というのがありますが、これでは、小さくてよく分かりません。

それで、このようにします。

数式の中を、マウスで範囲を取って、F9 を押しますと、中身のデータが出てきます。
そうすると、その出てきたデータによって、考え方が分かるはずです。

INDIRECT("C1:C"&ROWS(C2:C13)/3)
  ↓
  
ROW(INDIRECT("C1:C"&ROWS(C2:C13)/3))*3+1
  ↓
  
INDIRECT("C"&ROW(INDIRECT("C1:C"&ROWS(C2:C13)/3))*3+1)
  ↓
  
SUBTOTAL(9,INDIRECT("C"&ROW(INDIRECT("C1:C"&ROWS(C2:C13)/3))*3+1))

このようにして、だんだん広げていきます。
2番目の「ROW(INDIRECT...」ところが、少し、ややこしいように思います。
そこをクリアすれば、後は、加工できるかと思います。作るときは、そうして一番中心になる部分から付け足して作っていきます。このコツが分かると、すぐに出来るようになります。
    • good
    • 0

mipmip 様


Wendy02です。


前回の範囲と同じということにすれば、以下のようにしか今は思いつきません。

=SUM(IF(SUBTOTAL(3,INDIRECT("C"&ROW(C2:C13)))*(MOD(ROW(C2:C13),3)=1),C2:C13,0))

これは、配列数式ですから、『配列の確定』が必要です。数式は、{=...}で囲まれます。

『配列の確定』
一旦、数式のところで、F2を押して、再度、SHIFT キーとCTRL キーを押しながら、ENTER を押すと、式が実体化して、値が出てきます。
    • good
    • 1
この回答へのお礼

Wendy02様
できました~~~!!!!すごいうれしいです!
ほんとにほんとにありがとうございました!!お世話になりました(>_<)

お礼日時:2006/08/22 16:24

mipmip 様


こんにちは。Wendy02です。

そうでしたか! 昔、一度出合ったことがある、配列の範囲をずらす技が必要かと思いましたので、それは、難問だなって思いましたが、どうやら違ったようです。(逆にヨカッたです)

>支店数の合計のみエラーになってしまったんです。

例えば、昨日と同じように、地区ブロックを4つ設けてありますので、13行までになりますが、このようにすれば出ますね。(3 × 4 + 上部の項目1行 = 13 行)

支店数

=SUMPRODUCT(SUBTOTAL(3,INDIRECT("C" & ROW(C2:C13)))*(ISERROR(FIND("支店",C2:C13))=FALSE))

>本当はほかにもっといい方法があるのかもしれないですが。。。

東京とか大阪が同じ文字が三つ並んでいますから、ブロックの中の2行目の東京なんかは、フォントの色を白で消してあげると、きれいに見えるかもしれませんね。(こちらに分かりやすく書いてくださっているので、もう、なさっているかもしれませんが。)

それ以外については、私には、表自体は、これは完成されたものとしか見られません。私も、会社勤めの経験で、同じような表は見てきましたから、この表なら、どこの会社でも定番の表だと思います。

これに、VLookUp とか、オートフィルタがついているのですから、これ以上のものを望むのは、贅沢かもしれませんネ。^^; 初期は、このような表は、ワープロで作っていたのですから、夢のようです。

うまくいくと良いのですが・・・。
    • good
    • 0
この回答へのお礼

Wendy02様
ありがとうございます!!支店数合計、上手くいきました^^
支店数合計はsubtotalのカウントを使って、やってるんですよね。うまくいくと、エクセルはすかーっとしてほんとにうれしいです。・・・あと一回だけお力をお借りしてもいいですか?
この表で、取扱件数合計は、やはり支店名やオープン日があるため、エラーになります。その切り抜け方を教えて下さい(>_<)ずうずうしくいろいろお願いしてしまってすいません。

お礼日時:2006/08/22 13:44

こんばんは。

Wendy02です。

ずっと、半日、頭の中でぐるぐると同じ絵が回っていた感じがします。^^;

いまさら大変すみませんが、私は、その表の中で、どのようにして、オートフィルタは使っているのか良く分からなくなったのです。ちょっと確認しながら、回答させてください。

エラーになる原因は、たぶん、(データ行)というのを、それぞれの計算をさせるために、ずらしてあったのですね。たぶん、実際の式を書いてくだされば分かったのですが、それは、かなり高度なテクニックです。私は、間違いなく、これは難問のひとつとして、挙げられると思います。


   A       B

1  ○支店     収入
2  オープン日   支出
3  取扱件数    差引
4  地区
_________________________
5  ★支店     収入
6  オープン日   支出
7  取扱件数    差引
8  地区
_______________________



_____________
  合計件数    合計収入
          合計支出
          合計差引

* 1行目に、項目名を入れないと、オートフィルタはうまくいかないと思いますが、それはどのようにしていますか?

次に、今の状態では、オートフィルタでは、地区別というか、例えば、東京地区という分類は、4行目・8行目は選べても、

地区ブロック
┌───────────┐
│ ○支店     収入
│ オープン日   支出
│ 取扱件数    差引
│ 東京地区      
└───────────┘

という、ブロックでは見られませんよね。東京地区という表示の中で、一番下に、
合計を出すということになりますね。

(修正表)
   A      B
1  支店名    金額  ←項目名を加えました
─────────────
2  ○支店     収入
3  オープン日   支出
4  取扱件数    差引
5  東京地区
─────────────
6  ★支店     収入
7  オープン日   支出
8  取扱件数    差引
9  大阪地区
─────────────

オートフィルタを使えば、

1  支店名    金額  ←項目名を加えました
5  東京地区


としか出てきませんね。
以下は、上で書いた地区ブロックを4つ下に作ってみて、数式を考えてみました。

それで、それぞれの地区の合計をオートフィルタで出すとすると、

合計収支の計算式は、以下のようになります。

今は、項目名を入れて、A1:B17 の範囲にデータがあるとします。(修正表)
A19:

合計収入

B19:
 (B18は、一行空けました。もし、くっつける場合は、オートフィルタの領域を再度設定したほうがよいです。数式までをオートフィルタの範囲とされます。)

=SUMPRODUCT((MOD(ROW($A$5:$A$17),4)=1)*SUBTOTAL(3,INDIRECT("A"&ROW($A$5:$A$17)))*B2:B14)
フィルダウンコピーで、式をB21 までコピーします。

A20:
合計支出
B20:
=SUMPRODUCT((MOD(ROW($A$5:$A$17),4)=1)*SUBTOTAL(3,INDIRECT("A"&ROW($A$5:$A$17)))*B3:B15)

A21:
合計差引
B21:
=SUMPRODUCT((MOD(ROW($A$5:$A$17),4)=1)*SUBTOTAL(3,INDIRECT("A"&ROW($A$5:$A$17)))*B4:B16)
に入れました。

このようにしたらいかがでしょうか?
解説すると、最初の「地区」のセルを基点とします。気をつけなくてはならないのは、それぞれの計算する行の B2:B14, B3:B15, B4:B16 の領域は、同じ長さ(サイズ)にしなければなりません。そうしないとエラーが出ます。

本来は、ピボットテーブルやデータメニューの中の「集計」のほうが便利かもしれません。
いまさらですが、かなり凝った表のような気がします。
    • good
    • 0
この回答へのお礼

Wendy02さん
本当に親切に答えていただいて、ありがとうございます。初めて教えてgoo!を利用したのですが、こんなに親切に答えていただけて本当に感謝です。つたない説明で、申し訳ありません。質問に関連する部分だけの抜粋のつもりで省略した表の説明をさせていただいたのですが、やはり全部関連しているのできちんと説明するべきでした。親切に答えていただいたのを説明不足で無にするようでいまさらながら、本当にすみませんでした。実際は下のような表です。

 A     B  C    D  E  E・・・
1 支店コード 地区 支店情報 項目 4月 5月・・・
2  1   東京  ○支店  収入
3      東京  オープン日  支出
4      東京  取扱件数  差引
_______________________

5  2   大阪  ★支店  収入
6      大阪  オープン日  支出
7      大阪  取扱件数  差引
_______________________



______________________
      合計      収入
      支店数     支出
              差引
このようになっていて合計を出し、オートフィルタで地区ごとに合計収入・合計支出・合計差引を月ごとに出してプリントアウトしています。そこまでは上手くいったのですが、支店情報の行はVLOOKUPで支店名やオープン日が入っているので支店数の合計のみエラーになってしまったんです。それで、この質問をさせていただいたのです。もともと私にそれほど知識がないのと、前任者から引き継いだ表なので、本当はほかにもっといい方法があるのかもしれないですが。。。

お礼日時:2006/08/22 11:28

こんにちは。



>計算範囲には1項目(1支店)に付文字が入っています。


=SUMPRODUCT((MOD(ROW(データ行),3)=0)*SUBTOTAL(2,INDIRECT("C"&ROW(データ行)))*データ行)
<半角修正済み>

この中の3番目の「データ行」に文字列が入っていたら、それは、エラーが出ますね。
その配列式は、掛け算になっていて、IF条件文になっていないので、エラーの回避が出来ません。

>他に方法はないですか?

そうすると、一般的には、現在の配列方式をやめる以外は方法がないように思います。

例えば、このような式です。
=(MOD(ROW(),3)=0)*SUBTOTAL(2,C2)*C2

それで、最後に、SUM関数で足してやります。もし、途中でエラーが出ているようでしたら、その部分は修正してあげます。

他に、ちょっと長くなるけれど、こんな式でも良いですね。
=IF(ISERROR((MOD(ROW(),3)=0)*SUBTOTAL(2,C2)*C2),0,(MOD(ROW(),3)=0)*SUBTOTAL(2,C2)*C2)

それで、SUM関数で合計を出せば、エラーは出しません。本当は、もっとうまいやり方があるはずですが、今の文字情報だけでは、限界があります。
    • good
    • 0
この回答へのお礼

ご回答していただき、ありがとうございます★エラーの理由も説明していただいてとても勉強になります!
今回のアドバイスなんですが・・・私の知識不足で、=(MOD(ROW(),3)=0)*SUBTOTAL(2,C2)*C2の式から、sum関数で足すやり方がわかりません。。詳しく教えていただけますか??
<データ情報の捕捉>
sheet1に、
支店名 オープン日 取扱件数 住所などなど・・
それをVLOOKUPで、sheet2に
   A      B
1  ○支店     収入
2  オープン日    支出
3  取扱件数   差引
4  地区
_________________________
5  ★支店     収入
6  オープン日    支出
7  取扱件数   差引
8  地区
_______________________



_____________
   合計件数   合計収入
          合計支出
          合計差引

この表で、オートフィルタで地区ごとに合計を出すべく、エクセル改良中です。宜しくお願いします!!

お礼日時:2006/08/21 13:35

こんにちは。




=SUMPRODUCT((MOD(ROW(データ行),3)=0)*SUBTOTAL(2,INDIRECT("C"&ROW(データ行)))*データ行)

"C" が、全角になっているのは、ご愛嬌として、
オートフィルタの一番上は、項目の文字として、在庫の2行目を対象とするので、MOD(ROW(C2:C13),3)=2 と
して計算してみました。

=SUMPRODUCT((MOD(ROW(C2:C13),3)=2)*SUBTOTAL(3,INDIRECT("C"&ROW(A2:A13)))*C2:C13)

と実際に計算してみて、特に、エラーは発生しないようなのです。数式と計算も検証してみましたが、問題はありませんでした。オートフィルタで正しく計算してくれます。

その上記の全角文字以外としてあるのは、計算範囲に文字を入れているのではないでしょうか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!質問内容には書かなかったのですが、計算範囲には1項目(1支店)に付文字が入っています。その場合上手くいかないのですね。。他に方法はないですか?すいません(>_<)

お礼日時:2006/08/21 10:45

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

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

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

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

QSUM関数の範囲に#N/Aがあっても合計してくれる計算式

A列に氏名、B列に金額(計算式が入っている)があります。
B列の最終行に合計金額を出したいのですが、
B列に、#N/Aとなるセルがあり、
SUM関数を使うと結果がエラーになります。
なんとかエラー値のセルは無視して合計金額を出す計算式は
ないでしょうか。
よろしく御指導下さい。

Aベストアンサー

=SUMIF(A1:A10,"<>#N/A")
または、
=SUMIF(A1:A10,"<"&10^10)

★数値にマイナスが無ければ
=SUMIF(A1:A10,">0")

QexcelでSUBTOTAL関数を設定したのですが、オートフィルタをか

excelでSUBTOTAL関数を設定したのですが、オートフィルタをかけるとSUBTOTAL関数を設定したセルが消えてしまいます。
セルが消えないようにするにはどうすればいいんでしょうか。

Aベストアンサー

オートフィルターは条件にあわせフィルターをかけるだけなので、
「セルが消える」ということは考えられません。
「セルが表示されない」ということでしたら、
表とSUBTOTAL関数の入ったセルが続いているため
表の一部としてオートフィルターに取り込まれているためと考えられます。
それでしたら、
範囲を指定してからオートフィルターの設定をするか、
表とSUBTOTAL関数の入ったセルとの間に1行の空白セルを設けてから
オートフィルターをかけると良いです。

外していたらごめんなさい。

Qエクセル/エラー値があっても合計できる方法

いつもお世話様です。
エクセル2000ですが、こういうことが可能かどうか教えてください。

仮にA1からZ1までにさまざまな式が入っていて、計算結果が表示されているとします。
AA1に=SUM(A1:Z1)でTOTALします。

ところが部分的に答えがエラー値(#N/Aや#VALUE!)になることがあります。
そうするとTOTALもエラーになってしまいます。

自動的にエラー値を除き、合計する関数はないでしょうか?

A1~Z1の各セルがエラー値を返さない式に修正するはわかりますので、それ以外のやり方をご教示いただければ幸いです。
これは他人が作った表の集計作業なのですが、現実には合計するセルが何百もあり、エラー値を返さない式への修正にはかなり時間がかかってしまうのです。よろしくお願いします。

Aベストアンサー

元の数値が式の結果ですよね。
=IF(ISERROR(数式),0,数式)
でエラー時に0や""に置き換えるか?、合計を
=SUM(IF(ISERROR(A1:Z1),0,A1:Z1))
と入力してCtrl+Shift+Enterで配列数式にしてください。

Q=SUBTOTAL に =COUNTIF の機能を実装

お世話になります。

掲題の件で ご相談が御座います。


=SUBTOTAL(3,U5:U63) と
=COUNTIF(U5:U63,"完了") を 1つのセルで表現したいのですが
これは不可能でしょうか?

本当は「U列」だけではなく、20~30列全部に そのような機能を持った関数を入れたいのですが
両方を兼ね備えた関数を どなたかご存知ないでしょうか。

ようは、その表全体にフィルタを設定しており、いくつかの条件で抽出した時に「完了」の数が変わるので
現状 自分が思いつく所で考えると別シートに移して「=COUNTIF(●:●,"完了")」を都度入れていくか?
ぐらいしか思いつきません。

・フィルタで抽出しても元の範囲選択はそのまま。
・フィルタで抽出後に見えている選択範囲の「完了」だけを数えて欲しい
・上記2つの条件で1つのセルに数式を入力したい。

この3つの条件が満たされれば「=SUBTOTAL」や「=COUNTIF」にこだわる必要はありません。

どなたか ご存知であればご教示いただけますでしょうか。

説明が不足のようでしたら何度でも補足致しますので何卒宜しくお願い致します。

お世話になります。

掲題の件で ご相談が御座います。


=SUBTOTAL(3,U5:U63) と
=COUNTIF(U5:U63,"完了") を 1つのセルで表現したいのですが
これは不可能でしょうか?

本当は「U列」だけではなく、20~30列全部に そのような機能を持った関数を入れたいのですが
両方を兼ね備えた関数を どなたかご存知ないでしょうか。

ようは、その表全体にフィルタを設定しており、いくつかの条件で抽出した時に「完了」の数が変わるので
現状 自分が思いつく所で考えると別シートに移して「=COUNTIF(●:●,"...続きを読む

Aベストアンサー

またまたまた登場、myrangeです。

質問者がマクロをどの程度使えるのか分からないのでなんですが、
(質問から推測するにあまり使ったことがない?)
先に提示したマクロは関数ではありませんから
データの内容が変るたびに(結果を求めたい時点で)実行しなければいけません。
もし、SUBTOTALのような関数(セルに式としてセットする)にしたければ
以下のようなユーザー定義関数を作ることになります。

'---------------------------------------------- 
Function Ookami(myRange As Range, myStr As Variant) As Long
 Dim Rng As Range
 Dim Cnt As Long
 For Each Rng In myRange
  If Rng.EntireRow.Hidden = False And Rng.Value = myStr Then
    Cnt = Cnt + 1
  End If
 Next Rng
 Ookami = Cnt
End Function
'---------------------------------------------

使い方は、以下のようにします。
関数名は質問者のハンドルネームです。。(^^;;;

■Ookami(セル範囲, 検索文字)■

=Ookami(U5:U63,"完了")

F5~F666の範囲で、表示されてる"連絡済"をカウントしたければ

=Ookami(F5:F666,"連絡済")

要するにふつうの関数と同じような使い方になります。
以上です。
 

またまたまた登場、myrangeです。

質問者がマクロをどの程度使えるのか分からないのでなんですが、
(質問から推測するにあまり使ったことがない?)
先に提示したマクロは関数ではありませんから
データの内容が変るたびに(結果を求めたい時点で)実行しなければいけません。
もし、SUBTOTALのような関数(セルに式としてセットする)にしたければ
以下のようなユーザー定義関数を作ることになります。

'---------------------------------------------- 
Function Ookami(myRange As Range, myStr...続きを読む

QExcel関数:SUBTOTALとSUMIFを組み合わせる?

下記のような場合の集計ができる関数を教えて下さい。
SUBTOTALとSUMIFを組み合わせようと思ったのですが、うまくいきませんでした。
よろしくお願いします。

<表の内容>
・セルA1:「ランク」
・セルA2~A50:「A」or「B」or「C」を入力している
・セルB1:「金額」
・セルB2~B50:各金額を入力している

<集計方法>
・セルB51に「ランクが"A"」の金額合計を表示したい
・ただしオートフィルターを使って他の条件で抽出もおこなっているのでSUBTOTAL関数のように、表示されている行の値のみを合計したい

Aベストアンサー

オートフィルタ実行時でも可能な集計です。

=SUMPRODUCT((SUBTOTAL(3,INDIRECT("A"&ROW(A2:A50))))*(A2:A50="A")*(B2:B50))

で試してみてください。
B51セルだとフィルタ実行時に非表示になるかもしれませんので、もう少し下のセルに入れてください。

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

QEXCELで別のシートのデータを参照して返す方法

ちょっとしたことなのですが、うまく式が書けなくて悩んでいます。

作業用のシート1と参照用のシート2があり、
シート1のA列には
 あおき
 あべ
 いぐち
 いはら
などと文字列(名前)が入力されています。
こちらは今度の野球のスタメンだと思ってください。

シート2にはA列とB列があって、
わたなべ 55
いぐち  43
あおやま 67
いはら  41
などと、名前:背番号が羅列されています。こちらが参照用の全選手の背番号リストだと思ってください。

ここで、 シート1のB列に、A列の名前に対応した背番号を返したいのです。
なので、シート1のB列に
IF(シート1のA列の値=シート2のA列のいずれかの値)だったとき、
適合したシート2の行のB列の値を表示する
という式を入れたいのですが、どのように式を書けばよいでしょうか。

すみませんがどなたか教えてください。

Aベストアンサー

私もその場合はVLOOKUP関数を使用しています。

「B1」=VLOOKUP(A1,Sheet2!$A:$B,2,0)

QSUMIFS関数でOR条件を使いたい場合の関数

Excel2010を使用しています。
家計簿を作成しているのですが、SUMIFS関数でOR条件を使用したい場合どのように書けばよいでしょうか。

図は、明細と合計欄です。
ピンクのセルが円、それ以外はドルです。
合計欄のように、円とドルをそれぞれ分けて項目毎の合計額を出したいです。
セルE21のように、円の場合は「MUFJ」「ゆうちょ」ですので、MUFJとゆうちょのSUMIFS関数合計値を足しています。
これを、1行にまとめたいのですが、適切な関数はないでしょうか?
SUMIFSではOR条件が使えないようですので・・・・・・

明細行に円・ドルの列を追加すれば簡単なのですが、明細行の列はこれ以上増やしたくないので、できれば数式のほうで処理できればと思っています。

よろしくお願いいたします。

Aベストアンサー

例示のデータなら以下のような数式になります。

=SUM(SUMIFS($C$2:$C$14,$D$2:$D$14,{"MUFJ","ゆうちょ"},$B$2:$B$14,B21))

Q[EXCEL]列の項目を何種類かカウントする方法

いつもお世話になっています。Excelで3000件ぐらいのデータを整理したいのですが、普通に合計などはできますが、1列に何種類かのデータが色々な順で混在している場合、それが全部で何個かではなく、何種類かをすぐに計算する方法はありますか?

たとえば、"りんご"・"みかん"・"いちご"・"りんご"・"ばなな"
とそれぞれ入力しているとして、個数は5個だけれども種類は4種類ですよね。この種類の数を出せるとうれしいのですが。どなたか教えてください。
今、使っているのはOffice2003ですが、方法が違うようならOffice2000での方法もわかる方いらっしゃれば教えてください、お願いします。

Aベストアンサー

自信はありませんが、
以下の数式は、1件目のデータを1と返し、2件目移行に出現する重複データを0と返す数式です。

=IF(A1=0,0,IF(COUNTIF($A$1:A1,A1)>1,0,1))

はじめに、上記式のセル番地A1とはデータの始まりがセルA1の場合ですので、ご自身のデータで始まりのセル番地と置き換えて下さい。あとはオートフィルでコピーです。
最後に、ランダムに算出された1と0に対し、SUM関数で合計を求めれば種類(重複しない個数)を出すことができるかと思います。

Q特定の文字列を含むセルの個数をカウントしたい

こんにちは。
現在、シフト表作りを任されているのですが、特定の文字列(個人名)を含むセルの個数をカウントして、表内のコマ数をカウントしたいと考えています。

表の名前は、セルの名前登録をしてありますので、ここでは仮に"表"とします。
特定個人の名前は、"名前"とします。
この条件下で、上記を行うにはどのようにすればよいでしょうか?

ご助言お願いします。

Aベストアンサー

no1です。
てっきり「表」という事で早合点していました、お詫びします。
安直ですが、検索範囲を適用範囲を含み連続セル範囲指定でお試し下さい。
=COUNTIF(連続セル範囲,"*"&名前セル&"*")


人気Q&Aランキング