« 第149回 商品名省略 | メイン | 第150回 ◆関数で、X'mas »

2012年12 月15日 (土曜日)

コメント

む印

最初
=FREQUENCY(ROW(1:22),IF(B3:B22>0,ROW(3:22)))
で範囲の配列作れないかと考えましたが難しいと思い
ysakudaさんと同様に空白を埋める配列を作る方に方向転換
LOOKUPを使うのでIF(B3:B22>0,ROW(3:22))は
MATCH(B:B,B:B,)に置き換えられるかと思いついた2007以上限定の67

{=SUM((LOOKUP(ROW(4:23),ROW(A:A)+MATCH(B:B,B:B,)%,B:B)=E3)*C3:C22)}
※一般的にはMATCHの検索値部分をB:B⇒B1:B99とすればよかったかと思います。

一般的67はy sakudaさんの67とは少し違ってましたね、、、
{=SUM((LOOKUP(ROW(3:22),IF(B3:B22>0,ROW(3:22)),B3:B22)=E3)*C3:C22)}

63は
{=SUM((LOOKUP(ROW(3:22),IF(B1:B22>0,ROW(A:A)),B:B)=E3)*C3:C22)}
でしたd


>演算を加えるとすべて#Valueになってしまい機能しません
そうですねー、何故でしょうか?

y sakuda

そうか、IFがどうこうと言うより、Lookup Falseが混ざっても大丈夫なんだ・・・・
知らなかったです。
しかし、MATCH(B:B,B:B,) なんで、2003ではエラーになるんだろ?

y sakuda

しかし、この問題、からくちさんあたりは秒殺だと思ったんですけどね・・・

くまぷー

う~ん、60台でできちゃうんだ・・・

ni

あ~、回答が出てる・・・てか、結局完成しなかったし。
で、回答見ても理解できない orz

maron

>今回は完全に滑っちゃったみたいですみません
◆そんなことはないと思いますよ
◆出題者からの「関数で出来ますか~?」の問題に、解答出来るかどうかで、
◆その問題に完敗で、解答できなかっただけですから

y sakuda

>◆出題者からの「関数で出来ますか~?」の問題に、解答出来るかどうかで
ここの主旨はやはりみんなでワイワイいろんな手法を出して楽しむってことだと思いますから・・・・
まあ、ご承知のようになまじの人では回答見ても理解できなさそうなのが多いですから、あまり一般受けする話じゃないですけどねーー

む印

>理由をご存じの方がおられましたら
ひとつのヒントになればいいのですが…
{=SUM((T(OFFSET(B2,MATCH(ROW(3:22),1/(B3:B22>0)*ROW(3:22)),))=E3)*C3:C22)}

y sakuda

へー、一見意味のないTをかませるとまともに動くんですね。
要するに見かけと違ってまともな文字列とはみなされていないってことなんでしょうね。納得はしきれませんがw

む印

う~ん、minさんあたりが62を出してくれると思ったのですが、、
どうしておられるのかな~、、、、。

む印

>62
61でした、、

む印

61
{=SUM((LOOKUP(ROW(3:22),ROW(A:A)/(B1:B22>0),B:B)=E3)*C3:C22)}

ジョー3

おおーーー
はんじょー・・・・・して、、、ますね、、、よかった。

y sakuda

61ですか・・・・・
なるほどです。
>はんじょー・・・・・して、、、ますね、
閑古鳥状態w

コメントの確認

コメントのプレビュー

プレビュー中です。コメントはまだ投稿されていません。

処理中...
コメントを投稿できませんでした。エラー:
コメントを投稿しました。 さらにコメントを投稿する

入力された文字と数字は画像と一致していません。再度入力してください。

最後に、下の画像の中に見える文字と数字を入力してください。これはプログラムを使ってコメントを自動的に投稿するのを防ぐために行われています。

画像を読み取れない場合は 別の画像を表示してください。

処理中...

コメントを投稿

アカウント情報

(名前は必須です。メールアドレスは公開されません。)

2024年8 月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

TOP メニュー