advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 48829 for A�����������������������... (0.010 sec.)
[[20081104230144]]
#score: 1420
@digest: 0af381e6dfc1df441b492bd4df21745a
@id: 40721
@mdate: 2008-11-10T02:21:39Z
@size: 5920
@type: text/plain
#keywords: 形成 (21735), dec2bin (8810), ン関 (8419), 797 (7884), 進数 (6561), タグ (6023), で形 (5161), 用? (4557), タ4 (4469), 真偽 (4063), (○ (2995), 照元 (2551), 、n (2549), グル (2467), ドイ (2449), 、× (2368), 、○ (2163), 導入 (2088), sumproduct (1696), プが (1681), が4 (1549), 個数 (1381), デー (1280), ○ (1274), パタ (1198), ープ (1195), ータ (1132), mod (1097), の頭 (1096), ルー (1090), アド (961), 関数 (946)
『条件にあったものの個数を合計したい』(初心者)
Excel2003、WindowsXPです。 参照条件はA1です。 この条件と参照するデータは、 (A3、A4、A5)、(A7、A8、A9)、(A11、A12、A13)、… と複数個あります。 このとき、参照データと比較して一致するのを○、一致しないものを×とすれば、 参照結果は(○、○、○)、(○、○、×)、…(×、×、×) まで8パターンあるはずです。 そのパターンごとの集計を行いたいのです。 (○、○、○)の個数をA100に、(○、○、×)の個数をA101に、… という感じです。 どうすればよいでしょうか?よろしくお願いします。 ---- A100=SUMPRODUCT((MOD(ROW(A$3:A$97),4)=3)* ((N(A$3:A$97=A$1)&N(A$4:A$98=A$1)&N(A$5:A$99=A$1))=DEC2BIN(8-ROW(A1),3))) A107までフィルダウン。 結果はそれぞれ以下のようになるはず。 A100 ○ ○ ○ A101 ○ ○ × A102 ○ × ○ A103 ○ × × A104 × ○ ○ A105 × ○ × A106 × × ○ A107 × × × DEC2BIN関数はアドイン関数ですので、組み込みが必要です。 ツール-->アドイン-->分析ツールにチェックを入れてください。 (ROUGE) ---- ROUGEさん、ありがとうございます。 アドイン関数を使えば、A100が10、A101が7等の、 それぞれのパターンの個数になるのですね。 (○○○が111、×××が000といった対応でもよいのですが、個数が欲しいのです。) しかし、アドイン関数を使わないとダメっぽいですか? どうも、どのPCがどのオフィスのDVDかわからなくなっていて… ---- ほへっ? 個数を出す数式ですよ? アドイン関数導入が困難とのことですので、別のアプローチです。 A100=SUMPRODUCT(N(MOD(ROW(A$3:A$97),4)=3),N(((A$3:A$97=A$1)*4+(A$4:A$98=A$1)*2+(A$5:A$99=A$1))=8-ROW(A1))) A107までフィルダウン。 パターンは上記と同様です。 (ROUGE) ---- 度々、ありがとうございます。 質問のときに例示した感じで少し試してみて、うまくいったので 確定したデータ表でやってみました。 データは、参照元がN42で、 (N45,N46,N47),(N50,N51,N52)…(N795,N796,N797) となったので、 N28==SUMPRODUCT(N(MOD(ROW(N$45:N$797),5)=3),N(((N$45:N$797=N$42)*5+(N$46:N$798=N$42)*3+(N$47:N$799=N$42))=8-ROW(N42))) としてみて、これをN29〜N35まで貼り付けてみましたが、うまくいきません。 どこがいけなかったのでしょうか? 度々すいません。 ---- N28==SUMPRODUCT(N(MOD(ROW(N$45:N$797),5)=0), ↑ N(((N$45:N$797=N$42)*4+(N$46:N$798=N$42)*2+(N$47:N$799=N$42))=8-ROW(A1))) ↑ ↑ ↑ 何度もすいませんでした! やっとできました。ありがとうございました。 ---- 最後に、今後の応用のためにお伺いしますが、 N28==SUMPRODUCT(N(MOD(ROW(N$45:N$797),5)=0), ↑ ↑ ↑ のN$45はデータの先頭 N$797はデータの最後 5は、各データグループの頭 N(((N$45:N$797=N$42)*4+(N$46:N$798=N$42)*2+(N$47:N$799=N$42))=8-ROW(A1))) ↑ ↑ ↑ ↑ ↑ ↑ ↑ N$42は参照元データ 4は、データグループが3つで形成されている+1 2は4-1 (つまり、データグループが4つで形成されていれば、5、3、1を使用?) 8は、真偽の場合の数である2^3 のこと。 もしデータグループが4つで形成されていたら、2^4=16を使用。 で大丈夫ですか? ---- >N$42は参照元データ 4は、データグループが3つで形成されている+1 4は2^(3-1)=2^2 2は2^(3-2) 1は2^(3-3) >2は4-1 (つまり、データグループが4つで形成されていれば、5、3、1を使用?) データグループが4つで形成されていれば 2^(4-1),2(4-2),2(4-3),1・・・・8,4,2,1を使用 >8は、真偽の場合の数である2^3 のこと。 >もしデータグループが4つで形成されていたら、2^4=16を使用。 そのとおり ---- 数式を提示した本人として、説明を加えます。 SUMPRODUCT関数は積和を求める関数ですが、配列を扱えることから使用しています。 詳しくは↓のページを見てください。 http://www.excel.studio-kazu.jp/lib/e3h/e3h.html =SUMPRODUCT(N(MOD(ROW(A$3:A$97),4)=3),N(((A$3:A$97=A$1)*4+(A$4:A$98=A$1)*2+(A$5:A$99=A$1))=8-ROW(A1))) 上記数式を分解すると、 N(MOD(ROW(A$3:A$97),4)=3) N(((A$3:A$97=A$1)*4+(A$4:A$98=A$1)*2+(A$5:A$99=A$1))=8-ROW(A1)) になります。 まずは N(MOD(ROW(A$3:A$97),4)=3) から。 これは、データ群でどこが頭のセルかを判定するものです。 ROW関数は行数を返す関数、MOD関数は除算の余りを返す関数です。 今回提示されたデータが4行おきにデータの塊の頭が出てきたので、MOD関数の第2引数に4をいれました。 その上で、余りが3になるところが頭になるため、MOD(ROW(A$3:A$97),4)=3 としました。 この数式の結果が TRUE となる場所がデータの頭になります。 N関数では、N(TRUE)=1、N(FALSE)=0 と返しますので、SUMPRODUCT関数の引数とするために使用しています。 これで、データ群の頭の特定ができました。 次に、N(((A$3:A$97=A$1)*4+(A$4:A$98=A$1)*2+(A$5:A$99=A$1))=8-ROW(A1)) これは、 N(((A$3:A$97=A$1)*2^2+(A$4:A$98=A$1)*2^1+(A$5:A$99=A$1)*2^0)=8-ROW(A1)) とも書けます。 どういうことかというと、2進数としているわけです。 また、塊のうち、使用するデータが3つであることから、左から順番に参照する範囲をひとつずつずらしています。 即ち、データの塊がすべてA1と一致するならば、2^2+2^1+2^0=7 となり、2進数で表記すると 111 となります。 2進数のまま数式で使うのは不便(最初に提示した数式のように、アドイン関数を使う、桁数の制限が厳しい等) なため、今回のように10進数で扱うことにしました。 8-ROW(A1)は、連続データで 7 6 5 4 3 2 1 0 というものが欲しかったためです。 これらは2進数であらわすと、111 110 101 100 011 010 001 000 となります。 1を○、0を×とすれば、ご希望のものと一緒ですよね? データが4つに増えるのであれば、2進数の桁をひとつ増やしてあげればよいので、 N(MOD(ROW(A$3:A$97),''5'')=3) <--右の3はROW関数内のA3と連動して変化させる必要があります。 A$4:A$98だったら 4、A$5:A$99だったら 0 というように。 N(((A$3:A$97=A$1)*2^3+(A$4:A$98=A$1)*2^2+(A$5:A$99=A$1)*2^1+(A$6:A$100=A$1)*2^0)=2^4-ROW(A1)) これらを同様にSUMPRODUCT関数に導入すれば、OKです。 (ROUGE) 何度も、そして最後に大変丁寧に、ありがとうございました。 ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200811/20081104230144.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97013 documents and 608132 words.

訪問者:カウンタValid HTML 4.01 Transitional