[[20060508164018]] 『イコール・カウンター』(jj) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『イコール・カウンター』(jj)
 初心者です。
A1は文字N1は数字でこれが一致したら(文字+数字)が入ったらR1に1とする。

 例
A1あ  N1が10  R1 1  
A1あ  N1が    R1 0 

 Rの式を教えてください。

 もうひとつA1:Q674を指定してR687にR列の合計を一発で出る方法もあったら
お願いいたします。

 こんなんですか?
 R1=N(AND(A1<>"",N1<>"",ISNUMBER(A1)=FALSE,ISNUMBER(N1)))
  
 > A1:Q674を指定してR687にR列の合計を一発で出る方法
 なんのことかさっぱり分かりませんでした・・・orz
  
 (ROUGE)

 R1 =ISTEXT(A1)*ISNUMBER(N1)

 コレじゃ駄目?
 (キリキ)(〃⌒o⌒)b

あぅ!
 あの〜・・・、お、おぅけぃですぅ...
 下の質問はどのようなことをしたいのか分かりましたか?
 (ROUGE)

 玉砕覚悟で〜!!!
 
 R687 =SUMPRODUCT(ISTEXT(A1:A674)*ISNUMBER(N1:N674))
 多分、外してるな・・・
 (キリキ)(〃⌒o⌒)b

 「A1:Q674を指定して(Anが文字、かつNnが数字のときRnを1と計算したとして)
R687にR列(に表示されるべき1)の合計を一発で出る方法」と解読。
キリキさんの式で合っているのではないかと推測。
(みやほりん)(-_∂)b


 >キリキさんの式で合っているのではないかと推測。
 みやさんにそう言っていただけると、すごく心強い〜♪
 
 (キリキ)(〃⌒o⌒)b

 横から失礼致しますm(_ _;)m
 下の質問に関してみやほりんさんの解読と同じなんですが、
 単純に =SUM(R1:R674) では、この場合いけないんでしょうか?
 jjさんの希望する答えの形が出ていない状況なので、あくまでも
 解読(仮定)が正しかった場合なんですが・・・
(ぼう)

 σ(^o^;)も始めは、SUM関数でいいのかな?
 って思いましたが、
 >合計を一発で出る方法
 ここの一言がが引っかかりました。。。
 一発 = 一つの式で
 という発想で考えました^^;

 (キリキ)(〃⌒o⌒)b

 キリキさん、お答えありがとうございます。m(_ _;)m
 自分の場合、上の質問に対する R1 =ISTEXT(A1)*ISNUMBER(N1) が
 思い浮かばなくて、下の質問から考えていたんで疑問に思ったんです。
 二つの数式に統一性というか整合性があってきれいだなーーと思いつつも、
 質問いたしました。
 jj様、度々スレをお借りしましたm(。_。;))m  (ぼう)

 ありがとうございました。

 R8=N(AND(A8<>"",N8<>"",ISNUMBER(A8)=FALSE,ISNUMBER(N8)))
            ↓
 R49=N(AND(A49<>"",N49<>"",ISNUMBER(A49)=FALSE,ISNUMBER(N49)))

 N8からN49(42個の式)をたてて、合計をN52に出るように
しましたが、もっと簡単な式を教えて下さい。

 N52に関数を入れるだけでR8からR49を合計した数
条件は以前のままです。
:A列には文字(他の関数で文字が出るようになっています)
:N列には数字(手入力で行います)
:この2つが一致したときのみ1として合計をN52に・・

 何度もお願いしてすみません。。


 σ(^o^;)の式では駄目でしたか?
 (キリキ)(〃⌒o⌒)b

 式は不可能ですか??

 σ(^o^;)のは式ではないのでしょうか???
 
 N52 に、出せばいいのですよね?

 N52 =SUMPRODUCT(ISTEXT(A8:A49)*ISNUMBER(N8:N49))

 では駄目でしょうか?一応数式ですが・・・
 (キリキ)(〃⌒o⌒)b

 ありがとうございました。しかしAの列に(表示が無いところに)式が入っているため
なのか?一致とみなし合計してしまいます。

 >A列には文字(他の関数で文字が出るようになっています)
 なるほど、ここを見逃してました。。。
 
 N52=SUMPRODUCT((A8:A49<>"")*ISTEXT(A8:A49)*ISNUMBER(N8:N49))

 こちらでは如何でしょう?
 (キリキ)(〃⌒o⌒)b

 ありがとうございました。逆の場合を教えて頂きたいのですが・・
条件は以前のままです。
:A列には文字(他の関数で文字が出るようになっています)
:N列には数字(手入力で行います)
:この2つが一致しない時に合計(Nの合計)をN579に・・

 =SUMだと以前教えて頂いた数まで合計してしまうのと・データが多く
指定するのが大変なので・・・わがままですみません。

 (例)
  A  B・ ・ ・ ・ ・ ・ ・ N
  あ               3 
   あ               100
  あ               3 
 579                100
指定範囲がN8:572でN579に合計を出したいです。
 :N列には文字と関数が入っています。
 :AとNの一致以外と文字・関数以外の合計を出したいのですが??
お願いします。。

 ごめんなさい。
 何をしたいのか良くわかりません。。。
 もう少しわかりやすくご説明いただけますか?

 (キリキ)(〃⌒o⌒)b

 説明不足ですみません。
Nの579に=SUMPRODUCT((A8:A49<>"")*ISTEXT(A8:A49)*ISNUMBER(N8:N49))以外の手入
力した数字だけを合計(前回はAとNが入力されたら1としましたが)したいのです。

 =SUMPRODUCT((指定<>"")*ISTEXT(指定)*ISNUMBER(指定))は途中に13箇所入っていま
す。その他SUM関数&文字も入っています。(この2つは合計しません)

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

 マクロにしちゃいましたが、、、
 一応、ユーザー定義関数なので「関数」です^^;
 こんな感じでいかがでしょうか?
 
1)Alt + F11 で、Microsoft Visual Basic 立ち上げる
2)挿入 → 標準モジュール
3)出てきた白い画面に下記コード貼り付け
4)「×」でエクセル画面に戻る
5)N579 に =numsum(N8:N578)
                    ~~~~~~~ 範囲は実際の範囲を入力
 
 標準モジュールへコピペ
'----------------------
Function numsum(Rng As Range)
Dim x As Variant
    For Each x In Rng
        If IsNumeric(x) And Not x.HasFormula Then
            numsum = numsum + x
        End If
    Next x
End Function
 
 (キリキ)(〃⌒o⌒)b

ありがとうございます。でもA(文字)とN(数字)が表示されているN列の数字も

合計されてしまいます・・

=numsumで出したいのは、A表示がなくNに入力した数字のみです。


 >A表示がなくNに入力した数字のみです。
ごめんなさい。いまひとつ意味が、、、
 A表示無くとは、A列に何が無いときのN列の数字を合計するのですか?
 
 (キリキ)(〃⌒o⌒)b

Aに関数が入っています。Nは手入力で数字のみ。

(例)1:Aが関数のままでNで10を入力した場合N579には10

(例)2:Aが他の式で表示されNには何も入力されなかった場合N579には0

このパターンが下へA674 N674まであります。何度もすみません。

追加です・・

(1)A列には関数で文字表示される場合とされない場合があり、Aに文字表示がされ

Nに任意の数字を入力した場合は合計のにつながる。

(2)A列に関数のままでNに任意の数字を入力した場合は合計対象としない。

付けたしです・・わかりますでしょうか??


 A列の数式は何でしょう?
 そして、A列がどんな具合のときN列が反映されるのでしょう?
 例題の表があると助かるかも・・・
 
 ごめんなさいね。。。
 理解力無くて、、、
 だれかヘルプ〜(汗
 (キリキ)(;⌒o⌒)b

以前に見た式です。Aは祝、休しかでません。

N列への反映はありません。

A B632=C632    C=$H$684   D=C632

A633=IF(C633="","",IF(COUNTIF($E$685:$G$716,C633),"祝",IF(WEEKDAY(C633,2)>5,"休","")))

B633=IF(C633="","",IF(DAY(C633)=1,C633,""))

C633=IF($H$684="","",IF($H$684+1>I$684,"",$H$684+1))

C634=C633

以前見た式をいれただけです。

(例1) A633に(祝か休)が出たとして、N633に(数字を入力)したとしたら

両方がうまったのでN682には加算しない。

(例2) A633に(祝か休)が出ない(表示されない)でN633に数字を入力)したとしたら

N633の(数字を入力)数をN682には加算する。

この例題2の式がほしいのですが??わかりますか・・すみません。。


 =SUMPRODUCT((A1:A674="")*N1:N674)
 でできませんか?
 (ROUGE)

エラーが出てしまいます。。。


 > エラーが出てしまいます。。。 
どのような?
(ROUGE)

 おぉ〜
 ROUGEさんが来てくれた〜
 もう大丈夫だね^^
 
 (*≧▽)乂(▽≦*)タ〜チッ

 (キリキ)(〃⌒o⌒)b

すみません・・A列とN列には他の文字&ローマ字&SUMが混じっていました。

この3つを抜くとOKです。

あくまで合計対象は

A列の(休) N列の(数字)

A列の(祝) N列の(数字)

この2通りのみの(数字)の合計なのですが。。申し分けないです・・


 > (*≧▽)乂(▽≦*)タ〜チッ
                      ~~~~~~~ターッグにしといて〜なぁ。
  
 =SUMPRODUCT((A1:A674="")*ISNUMBER(N1:N674),N1:N674)
ではどうでしょうか?
(ROUGE)

 >ターッグにしといて〜なぁ。
 だって、、、
 イメージがわかないんだもん。。。
 
 今まで考えてたんだけどね・・・
 (もう寝ちゃいます)
 (キリキ)(〃⌒o⌒)b AM3:10 

 やっぱり、数式ではよくわからん。。。
 ユーザー定義関数のリベンジで!!
 
 Function numsum(Rng As Range)
Dim x As Variant
    For Each x In Rng
        If Range("A" & x.Row) = "" Then
            If IsNumeric(x) And Not x.HasFormula Then
                numsum = numsum + x
            End If
        End If
    Next x
End Function
 
 こんな感じでしょうか?
 (キリキ)(〃⌒o⌒)b

 >A列とN列には他の文字&ローマ字&SUMが混じっていました。
SUM関数だけならSUBTOTALに換えれば、済みそうですが、
他の関数もありそうな気がするし、換えるのが面倒かも知れないので、
N列に手入力した場合には、必ず隣のO列に1と入力する。というルールを作って、
=SUMPRODUCT((A1:A674="")*(O1:O674=1),N1:N674)
とする案は、いかがでしょうか?
(sin) 条件・状況をうまく読み取れないので、外してたら ポイ してくださいな。。。

どうもありがとうございました。しばらく体調不良でした・・・

もう一度よろしいでしょうか。。

	A	⇔	N
1	休		2
2			3
3	完		
4	休		4
5	済		5
6			6
7			7
8	済		8
9	完		9
10			10
11			あいう
12	休		い
13	あ		木
14	A		2
15			
16			
17			SUM関数
18

例としてこのような感じです。Nの18にAには文字なし・Nには数字あり

この合計を出したいです。答え26 (N2+N6+N7+N10)です。

A列にはその他にも関数や文字が入っています。(出なければ関係なし)

N列にもその他の関数やローマ字あり。

結論・・Aに表示がなくてN列に手入力で入れた数字の合計(あくまで手入力のみで途中の関数・ローマ字・漢字などが入っていても平気な式?をしりたいのですが??

N列に手入力は数字を入れます。宜しくおねがいします。。。


 =SUMPRODUCT((A1:A674="")*1,N1:N674)

ありがとうございます。

=SUMPRODUCT((E8:E49<>"")*ISTEXT(E8:E49)*ISNUMBER(R8:R49))

途中の上記の式をカウントしてしまいます・・途中にいくつかありましたmm


 numsum関数ではだめでした?
 他には使用できない関数ですが、jjさんの表には使用できるように
 なっているはずなのですが。。。

 (キリキ)(〃⌒o⌒)b

(キリキ)さんすみません。大丈夫でした。。numsum関数のマクロ式で

=SUMPRODUCT((E8:E49<>"")*ISTEXT(E8:E49)*ISNUMBER(R8:R49))

Aの文字とNの数字が(Nの手入力が10であってもnumsumでカウンタ)で表す

マクロもくめますでしょうか?? それとマクロを組むと開くのが遅いような気がするの

で関数要望をしました。わがままですみません。。


 もう少しわかりやすく説明していただけますか?

 >Aの文字とNの数字が(Nの手入力が10であってもnumsumでカウンタ)で表す 
 >マクロもくめますでしょうか??
 はっきり言っちゃって???です。。。

 間の関数を無視したいだけなら、sinさんも仰ってますが SUBTOTAL関数で済む様な気もしてきました。。。
 (キリキ)(〃⌒o⌒)b 

間の関数を無視して、

	A	⇔	N
1	休		2
2			3
3	完		
4	休		4
5	済		5
6			6
7			7
8	済		8
9	完		9
10			10
11			あいう
12	休		2
13	あ		2
14	A		2
15			=SUMPRODUCT
16			
17			SUM関数
18

今度は、たとえばA1とN1が表示ありN1が2ですがN18にはカウンタで1

答え:8です。(N1&N4&N5&N8&N9&N12&N13&N14)8箇所が

表示されているので8(カウンタ)です。わかりますでしょうか??


 同じくユーザー定義関数です。
 
 Function numcnt(Rng As Range)
Dim x As Variant
    For Each x In Rng
        If Range("A" & x.Row) = "" Then
            If x <> "" And IsNumeric(x) And Not x.HasFormula Then
                numcnt = numcnt + 1
            End If
        End If
    Next x
End Function
 
 =numcnt(N1:N17)
 のように使用。
 
 ※SUBTOTAL関数もぜひヘルプで見てくださいね。
 (キリキ)(〃⌒o⌒)b

ありがとうございました。でも、Aに表示なくNに数字ありがカウンタになってしまいます。。

Aに表示あり・・Nにも入力ありで(このNの合計はカウンタで)

もう一度最初から整理させて頂きます。

1ページ

	A	B	C	D	〜	N	
1			31	(水)	〜	5	Aには何も表示なし:Nには5を入力
2		6/	1	(木)	〜	5	Aには何も表示なし:Nには5を入力
3			2	(金)	〜	5	Aには何も表示なし:Nには5を入力
4	休		3	(土)	〜	10	Aには”休”表示:Nには10を入力
5	休		4	(日)	〜	10	Aには”休”表示:Nには10を入力
6			5	(月)	〜	5	Aには何も表示なし:Nには5を入力
					全合計(SUM)	40	
					休でNを入力したカウンタ式(SUMPRODUCT*ISTEXT)	2	←6/3(10)6/4(10)ですがカウンタで2
2ページ							
	A	B	C	D	〜		
11			31	(水)	〜	10	Aには何も表示なし:Nには10を入力
12		6/	1	(木)	〜	10	Aには何も表示なし:Nには10を入力
13			2	(金)	〜	10	Aには何も表示なし:Nには10を入力
14	休		3	(土)	〜	5	Aには”休”表示:Nには5を入力
15	休		4	(日)	〜	5	Aには”休”表示:Nには5を入力
16			5	(月)	〜	10	Aには何も表示なし:Nには5を入力
17					全合計(SUM)	50	
18					休でNを入力したカウンタ式(SUMPRODUCT*ISTEXT)	2	←6/3(10)6/4(10)ですがカウンタで2
19							
20						60	←ここにAに表示なしNが表示した合計を
						4	←ここにAに表示ありNが表示した数ではなくカウンターで

Nの19の計算::Nの20の計算が出来ればと??

このシートは工程管理表でAからDに日にちを出しNに数量を入れています。

そこで平日はその数量で請求出来るのですが、休・祝・土はNに数量を打ち込んでも

1日単価で請求するためカウンタで出したいのです。(ページ数は14ページ)

何度も申し訳ございません。


 上記例題用に作りましたので、ページ総数分合わせて調節して使用してください。
 
 N7 =SUBTOTAL(9,N1:N6)
 N17 にコピペ
 N8 =SUMPRODUCT((A1:A6<>"")*ISTEXT(A1:A6)*ISNUMBER(N1:N6))
 N18 にコピペ
 N20 =SUMPRODUCT((A1:A19="")*N1:N19)-SUBTOTAL(9,N1:N19)
 ※上記では N19 とありますが、1行空いているようなので N20 で考えてます。
 N21 =SUMPRODUCT((A1:A19<>"")*ISTEXT(A1:A19)*ISNUMBER(N1:N19))
 ※上記と同じ理由
 
 (キリキ)(〃⌒o⌒)b

ありがとうございました。

N50=SUBTOTAL(9,N8:N49)

N52=SUMPRODUCT((A8:A49<>"")*ISTEXT(A8:A49)*ISNUMBER(N8:N49))

N102=SUBTOTAL(9,N60:N101)

N104=SUMPRODUCT((A60:A101<>"")*ISTEXT(A60:A101)*ISNUMBER(N60:N101))

N154=SUBTOTAL(9,N112:N153)

N156=SUMPRODUCT((A112:A153<>"")*ISTEXT(A112:A153)*ISNUMBER(N112:N153))

N206=SUBTOTAL(9,N164:N205)

N208=SUMPRODUCT((A164:A205<>"")*ISTEXT(A164:A205)*ISNUMBER(N164:N205))

N257=SUBTOTAL(9,N216:N257)

N260=SUMPRODUCT((A216:A257<>"")*ISTEXT(A216:A257)*ISNUMBER(N216:N257))

N310=SUBTOTAL(9,N268:N309)

N312=SUMPRODUCT((A268:A309<>"")*ISTEXT(A268:A309)*ISNUMBER(N268:N309))

N362=SUBTOTAL(9,N320:N361)

N364=SUMPRODUCT((A320:A361<>"")*ISTEXT(A320:A361)*ISNUMBER(N320:N361))

N414=SUBTOTAL(9,N372:N413)

N416=SUMPRODUCT((A372:A413<>"")*ISTEXT(A372:A413)*ISNUMBER(N372:N413))

N466=SUBTOTAL(9,N424:N465)

N468=SUMPRODUCT((A424:A465<>"")*ISTEXT(A424:A465)*ISNUMBER(N424:N465))

N518=SUBTOTAL(9,N476:N517)

N520=SUMPRODUCT((A476:A517<>"")*ISTEXT(A476:A517)*ISNUMBER(N476:N517))

N570=SUBTOTAL(9,N528:N569)

N572=SUMPRODUCT((A528:A569<>"")*ISTEXT(A528:A569)*ISNUMBER(N528:N569))

N622=SUBTOTAL(9,N580:N621)

N624=SUMPRODUCT((A580:A621<>"")*ISTEXT(A580:A621)*ISNUMBER(N580:N621))

N674=SUBTOTAL(9,N632:N673)

N676=SUMPRODUCT((A632:A673<>"")*ISTEXT(A632:A673)*ISNUMBER(N632:N673))

途中がこのような式で入れました。OKですが最後の合計が

N682=SUMPRODUCT((A8:A674="")*N8:N674)-SUBTOTAL(9,N8:N674)

上記の式が#VALUE!と出てしまいます。

下記の式は数字を入れてなくても13と表示されてしまいます・・どこか?

たされているのでしょうか??

N683=SUMPRODUCT((A8:A674<>"")*ISTEXT(A8:A674)*ISNUMBER(N8:N674))


 一生懸命かいていただいたのはわかるのですが、、、
 ただ数式を羅列されたり、文章も改行等無しで書かれても、イメージ湧かないし。。。
 何より、見る気がなくなってしまいします・・・
 
 SUBTOTAL関数のヘルプはご覧になりましたか?

 以下抜粋
解説 
範囲内に他の集計値が挿入されている場合、ネストされている集計値は、計算の重複を防ぐために無視されます。 
リストを抽出した結果として非表示になっている行は無視されます。このため、抽出されたリストに表示されているデータだけを集計することができます。 

 ヘルプを見たり、簡単な表で試してみてもわからないでしょうか?
 SUBTOTAL関数は、集計するのに重複(ダブって計算)されるのを防いでいます。
 N682 の数式は、SUMPRODUCT関数で A列 に何も入っていない、N列 の合計したものを
 SUBTOTAL関数で、小計(上でSUBTOTAL関数を使用したもの)以外を足し
 それを差引する事で、ご希望の数値を出しているものです。
 
 では、頑張ってください。
 (キリキ)(〃⌒o⌒)b

N683=SUMPRODUCT((A8:A674<>"")*ISTEXT(A8:A674)*ISNUMBER(N8:N674))

はAに漢字文字が入っていたので消しましたが・・後どうするか・・

N683=SUMPRODUCT((A8:A674<>"")*ISTEXT(A8:A674)*ISNUMBER(N8:N674))

に関しては????う〜ん・・・・


 私自身は、前に書いた通り 作業列を使う方法を好みますが、
『作業列を使うのはイヤ』って感じなので、
一つ前の書き込みの例で、N列に文字が混在するとして、考えてみました。

 N7 =SUBTOTAL(9,N1:N6)
 N17 にコピペ

 N8 =TEXT(SUMPRODUCT((A1:A6<>"")*(ISTEXT(A1:A6))*ISNUMBER(N1:N6)),"0")
 N18 にコピペ
※最後の合計時に区別するために、文字列の数字にしました。

 N20 =SUBTOTAL(9,N1:N18)-SUMPRODUCT((A1:A18<>"")*ISTEXT(A$1:A$18),N1:N18)
※SUBTOTALでの合計から、N8・N18の条件に該当する値を引きました。

 N21 =SUM(IF(ISTEXT(N1:N18)*ISNUMBER(N1:N18*1),N1:N18)*1)
CtrlとShiftとEnterを一緒に押して配列数式として確定。
※N1:N18の中で、文字列の数字のみ(N8,N18部分)の合計。
※該当個所以外にも文字列の数字があると正しく計算されません。-----ここ追記しました。
多分計算できると思いますが・・・
(sin)

ありがとうございました。=SUBTOTAL(9,範囲)-・・・の9,の意味がしりたいのですが??


 ・・・ご自分でヘルプで調べたらどうですか?

【ヘルプより引用】

 書式
 SUBTOTAL(集計方法, 範囲1, 範囲2, ...)
 集計方法   リストの集計に使用する関数を、1 〜 11 の番号で指定します。

 集計方法	関数
 1	AVERAGE 関数
 2	COUNT 関数
 3	COUNTA 関数
 4	MAX 関数
 5	MIN 関数
 6	PRODUCT 関数
 7	STDEV 関数
 8	STDEVP 関数
 9	SUM 関数
 10	VAR 関数
 11	VARP 関数
 範囲1, 範囲2,   集計するリストの範囲を 1 〜 29 個まで指定します。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.