当初作成した74を出題者解答としておきます。
=TEXT(OFFSET(DB!A1,(ROW()>1)*INT(COLUMN()/4)*50,-FLOOR(COLUMN()-1,4)),"#")
りすさんのヒントで67にはなるのですが、私の解釈とりすさんの解釈が同じかどうか分かりませんのでりすさんにお任せします。
ただ、お二方が66、65とおっしゃってる訳でどこが違うのかちょっと楽しみです。
基本的にはこの問題Offset、Index、Indirectしかないはずでバリエーションは殆どないと思ってるんですが・・・・。(sakudaさん談)
65=OFFSET(DB!$A1,(ROW()>1)*50*INT(COLUMN()/4),MOD(COLUMN()-1,4))&""
投稿情報: りす | 2012年3 月24日 (土曜日) 午後 08時05分
私の67はTextを外し、&"" にした奴ですから、やはりりすさんのヒントから推定したとおりでした。
見せられて見れば当たり前なんですが、なぜかDB!$A1タイプは試さなかったな。
投稿情報: y sakuda | 2012年3 月24日 (土曜日) 午後 08時12分
てっきり、sakudaさんは、こんなことをしてるのかと思いました。
ちょうど74
74=OFFSET(DB!$A$1,ROW()-1+(ROW()>1)*50*INT(COLUMN()/4),MOD(COLUMN()-1,4))&""
投稿情報: りす | 2012年3 月24日 (土曜日) 午後 08時16分
あとは、文字数同じ
65=OFFSET(DB!$A1,(ROW()>1)*INT(COLUMN()/4)/2%,MOD(COLUMN()-1,4))&""
投稿情報: りす | 2012年3 月24日 (土曜日) 午後 08時31分
>A1に式を入れ、これをA1:CA51にコピー
ということで悩まされました、、
注文個数文字列は64
=OFFSET(DB!A1,INT(COLUMN()/4)*50*(A51=0),INT(1-COLUMN()/4)*4)&""
通常版?
=IF(B$1="顧客","",OFFSET(DB!A1,INT(COLUMN()/4)*50*(A51=0),-INT(COLUMN()/4)*4))
投稿情報: む印 | 2012年3 月24日 (土曜日) 午後 08時31分
あれ、ということは、こうすれば63だったのか…
63=OFFSET(DB!$A1,(A51=0)*50*INT(COLUMN()/4),MOD(COLUMN()-1,4))&""
投稿情報: りす | 2012年3 月24日 (土曜日) 午後 08時43分
同じ関数・・・・でも、、、、みなさんのほうが、、ずーーーと、、、短い・・・・
・・・・・・・・・・・・・・・・・・
やはり、、、、
・・・・・・・・・・・・・・・
別な手法が、、、、見つからないと、、、
・・・・・・・
ジョー3は、、、、、・・・・・・・・・・全然ダメですねーーーー
=観客ですーーー
投稿情報: jyo-3 | 2012年3 月24日 (土曜日) 午後 08時57分
りすさんとほぼ同じ数式だったみたいです。
一つ余計な不等号を入れてしまいましたが・・・^^;
66=OFFSET(DB!$A1,(ROW()<>1)*INT(COLUMN()/4)*50,MOD(COLUMN()-1,4))&""
投稿情報: いちぎょう | 2012年3 月24日 (土曜日) 午後 08時59分
同じなんだけど
65=OFFSET(DB!$A1,INT(COLUMN()/4)*50*(ROW()>1),MOD(COLUMN(D1),4))&""
ちょっとだけ変えた・・・
投稿情報: ni | 2012年3 月24日 (土曜日) 午後 09時00分
>(A51=0)
なるほど。これは参りました。
確かに1000件限定にはなりますが、思いつかないです。
>ROW()-1+(ROW()>1)*50*INT(COLUMN()/4),
ここまではトッぽくないw
空行の0を回避するのにText思いついてその後何にも考えなかっただけですwww
投稿情報: y sakuda | 2012年3 月24日 (土曜日) 午後 10時42分
ただ今、妻の実家より戻りました。
おいらの69はこんなのでした。
=OFFSET(DB!$A1,(ROW()>1)*INT((COLUMN()-1)/4)*50,MOD(COLUMN()+3,4))&""
みなさんのと似ているけど
微妙に無駄があるのか・・・
投稿情報: くまぷー | 2012年3 月24日 (土曜日) 午後 10時43分
無事63も出ましたし、
無事2%も出たので、
なんも出せません。。
投稿情報: min | 2012年3 月24日 (土曜日) 午後 11時03分
minさん63ができてたのか。凄い。
後はからくちさんが別手法なにかだしてくるかな?
投稿情報: y sakuda | 2012年3 月24日 (土曜日) 午後 11時12分
>minさん63ができてたのか。
>無理矢理の方法で、、2文字減るのかな。
>投稿情報: min | 2012年3 月24日 (土) 午後 12時12分
でした。。
投稿情報: min | 2012年3 月24日 (土曜日) 午後 11時18分
考え方として、こいうのも考えていました。
短くならない、短くしようとすると重くなる
ので途中でやめましたが、、
他の皆さんも同様かも。。??
む印さんの式を一部引用して、、
=IF(B$1="顧客","",OFFSET(DB!$A$1,(1000-COUNT(E:CA,A2:D51))*(A51=0),MOD(COLUMN(D1),4)))
投稿情報: min | 2012年3 月25日 (日曜日) 午前 06時25分
>後はからくちさんが別手法なにかだしてくるかな
いやいや、、、この問題は
INDEX・INDIRECTなど何を使おうが基本的には中身は皆同じ
で、短さからOFFSETを皆さん使われていると思います
勿論文字数を無視すればLOOKUP等でも出来ますが
その中で短さをと考えれば基本は同じになってしまう
と言う事で文字数を考慮すると同じ式(考え方)になってしまいました
投稿情報: からくち | 2012年3 月25日 (日曜日) 午前 07時07分
わたし的には(お遊びでは)MOD禁止などなど
幾つかの束縛を付けて(文字数は無視)
遊ばせていただきました
投稿情報: からくち | 2012年3 月25日 (日曜日) 午前 07時12分
Lookupっての見たいですね。
投稿情報: y sakuda | 2012年3 月25日 (日曜日) 午前 08時29分
私でも解けそうで解けない、これがやる気を起こしてくれて
2~3日は集中して考えることができました。
そういう意味では楽しかったですよ。---->sakudaさん
IFとINDEXを組み合わせて式を作っていましたが
最後の1000番目のデータ抽出が微妙にづれてしまって
式の完成にはいたりませんでした。
まあ、参加することに意義があるってことにしておこうか...。(ーー;)
投稿情報: ますたあ | 2012年3 月25日 (日曜日) 午後 12時55分
>まあ、参加することに意義があるってことにしておこうか...。(ーー;)
おいらは参加すらできないことも・・・
投稿情報: くまぷー | 2012年3 月25日 (日曜日) 午後 08時57分
ROWとCOLとMODなし
やってみようかな。
後で、
つまらないものになりそうですが。
投稿情報: min | 2012年3 月25日 (日曜日) 午後 09時44分
>Lookupっての見たいですね。
=LOOKUP(ROW()+INT(COLUMN()/4)*50*(ROW()>1),ROW(A:A),INDEX(DB!$A:$D,,MOD(COLUMN(D1),4)+1))&""
半ば無理やりなので、面白くも何とも無い
>ROWとCOLとMODなし
これもCOUNTAでOKなので
>面白くも何とも無いx2
でした
投稿情報: からくち | 2012年3 月25日 (日曜日) 午後 10時09分
>これもCOUNTAでOKなので
え、ROWとCOLとMODなしはCOUNTをイメージしてました。
>面白くも何とも無い
とは思いますが、一応後でやってみます。
投稿情報: min | 2012年3 月25日 (日曜日) 午後 10時54分
>半ば無理やりなので、面白くも何とも無い
見せられればそれまでなんですが、Lookupは使いこなせてないから、自分でやったらまずできないですね。
投稿情報: y sakuda | 2012年3 月26日 (月曜日) 午前 12時00分
>ROWとCOLとMODなし
やっぱり面白くないものになってしまいました。
{=OFFSET(DB!A1,(19-COUNT(1/D1:CA1))*50*(A51=0),(COUNT(1/SUBSTITUTE(D1:CA1,"注文個数",1))-19)*4)&""}
>短くならない、短くしようとすると重くなる
投稿情報: min | 2012年3 月26日 (月曜日) 午前 12時09分
皆さんの式を検証させていただいて
気が付きました。
根本的なところに勘違いがあったって...。^^;
答えが出せる式ができていました。
まあ、皆さんの倍くらいの文字数ですけどね。
後から検証させてもらうって勉強になりますね~。
投稿情報: ますたあ | 2012年3 月26日 (月曜日) 午後 05時50分
次回の問題は、、、今日ですか
若しわたしの出題だとしたら、、、
易しすぎてごめんなさい、、、
瞬殺、3秒、、、試して、10秒、、、
合計13秒、、、お仕舞い
投稿情報: からくち | 2012年3 月27日 (火曜日) 午後 12時29分
>瞬殺、3秒、、、試して、10秒、、、
そ、、そんんあこと、、、、、言わないでください。
もし、、、、すぐ解けなかったら、、、、恥・・・・・・・か、、、、、しいから、、、
投稿情報: jyo-3 | 2012年3 月27日 (火曜日) 午後 02時55分
>次回の問題は、、、今日ですか
そうです。
かなり、楽しめると思いますが・・・(o^^o)
投稿情報: くまぷー | 2012年3 月27日 (火曜日) 午後 03時37分
>次回の問題は、、、今日ですか
>そうです。
では、、、出題者解答例をお送り致します
投稿情報: からくち | 2012年3 月27日 (火曜日) 午後 07時59分