« 第70回 不思議なエクセルくん | メイン | 第71回 13日の金曜日 »

2010年9 月11日 (土曜日)

コメント

くまぷー

?(・_。)?(。_・)?

y sakuda

なんじゃこりゃ^^;
Complexなんて少なくともExcelじゃ実用にしたことはないな・・・・
私はE列を使ったずるの60しかできなくて、ギブアップでした。
=INDEX(C:C,MATCH(MID(INDEX(E:E,TRUE),ROW()-TRUE,TRUE),C:C,))

しかし、答えを見せられてもまるでピンとこないというのは初めてに近いですねーー

ところで、自然にできるはずの67ってのもお願いします。
これからヘルプ見ながら出題者解答解析します。

む印

結局、マトモなやつは出来ませんでした、、

最初に出来た違反の35
=INDEX(C:C,FIND(C:C,"ルな議思セ君エ不ク"))

E1を利用したズルの56
=VLOOKUP(MID(INDEX(E:E,TRUE),ROW(C:C),TRUE),C:C,TRUE,)

どちらもF2:F10を選択してCtrl+Shif+Enter

からくち

>自然にできるはずの67ってのもお願いします。

=INDEX(C:C,MID(CODE("扼")&CODE("C")&CODE("^")&CODE(":"),ROW(),TRUE))

min

70=INDEX(C:C,COLUMN(CHOOSE(ROW(),,B:B,H:H,C:C,A:A,F:F,G:G,I:I,D:D,E:E)))

77=INDEX(C:C,COLUMN(INDEX((B:B,H:H,C:C,A:A,F:F,G:G,I:I,D:D,E:E),,,ROW()-TRUE)))

trueを使うのは、ちょっと気が引けた。

む印さんの発想面白いですね。

ジョー3さん向けなどはまたあとで。

min

67は文字列を使うんですね。

ジョー3

> =INDEX(C:C,MID(CODE("扼")&CODE("C")&CODE("^")&CODE(":"),ROW(),TRUE))

ふふふ、、、この構想だけは、、、(構想だけ)・・・・
頭の中で、,,やっていた、、、(きっと皆さんもでしょうね、,,,)

だが、、、

エクセル君の不思議???


と、、なると、、、、


>アドイン関数が持つ数値。

>この数値同士で計算も可能。

うひゃひゃ、、、からくちファンに、、、、
ますます、、、、・・・・・・・・・・・・・・いいねーーー
。。。。。。。。。
おもしれーーーーーーーーーーーー
・・・・・・・・・・・

min

文字列を使ったやつ
67=INDEX(C:C,COLUMNS(INDIRECT("a:"&LEFT(RIGHT("edigfachb ",ROW())))))
64=INDEX(C:C,COLUMNS(INDIRECT("a:"&MID(" bhcafgide",ROW(),TRUE))))
大したものではないが。。

ジョー3

ほほーーーーー
minさん、、、すごいですーーーー考えませんでしたーーーー

ジョー3の好きそうな・・・・・といわれても、、、気づかなかった。=鈍感じょー

min

>ジョー3の好きそうな・
は10時ころ出します。

美丘を見てから・・・

ジョー3

しかし、、、、
>   =COMPLEX-ERF

へーーーー

-283167945・

1から9まで・・・・重複無い・・・9けたなのですねーーーー

からくち

一般的?な式も作れるという所も見せないと、、、

=INDEX(C:C,FIND(LEFT(ADDRESS(1,ROW(),4)),"EBDIJFGCH"))

からくち

>=INDEX(C:C,FIND(LEFT(ADDRESS(1,ROW(),4)),"EBDIJFGCH"))
これ間違い
違うのを貼りつけてしまいました

失礼

y sakuda

しかし、このComplexもERFも関数でしょ?
それが、なぜに引数なしで使えて値を返すんですか?
少なくともヘルプにゃ出てないし・・・・
それに値の意味はなんなんですかね?

min

277=INDEX(C:C,MID(ROWS(C:C)^(COLUMN(C:C)-COLUMNS(C:C))-ROWS(C:C)*(COLUMNS(C:C)&COLUMN(C:C)^(COLUMN(C:C)+COLUMNS(C:C))-COLUMNS(C:C))-(COLUMN(C:C)*COLUMN(C:C))^COLUMN(C:C)*(COLUMN(C:C)+COLUMNS(C:C))+COLUMN(C:C)*COLUMN(C:C)*(COLUMN(C:C)+COLUMN(C:C)-COLUMNS(C:C)),ROW(),COLUMNS(C:C)))

無理矢理c:cだけでやってみた。
結構疲れた。

>それに値の意味はなんなんですかね?
それが分かれば、、
わかっても何の意味もないかもしれませんが。

あ、ジョー3さん向きのやつは風呂に入ってから、、最後にとっときます。

min

↑の式2003でちゃんと動くか検証出来てません。

y sakuda

む印さんは私と同じ発想でしたね。
minmaxさんは題意に沿った回答ですね。
しかもいろいろやってるし、研究熱心ですねーー
負ける^^;

>これ間違い
>違うのを貼りつけてしまいました
数字使ってるって意味ですか?
しかし、それはともかく、これ上手いとしかいいようないです^^

y sakuda

しかしですねーー
COMPLEXとERFが数字になるってのを知ってても、そこから
COMPLEX-ERFが重複のない数字になるってのも気が付かないだろうし、
それを問題の形にする思いつきってのは、どこからでてくるんだろ?

からくち

>これ上手いとしかいいようないです^^
ありがとうございます
原案の方を貼りつけてしまいました

=INDEX(C:C,FIND(LEFT(ADDRESS(TRUE,ROW(),LEN(TRUE))),"EBDIJFGCH"))


min

c:cだけ使ったもの。
こっちのほうがちょっと短いから
260=INDEX(C:C,MID(ROWS(C:C)*ROWS(C:C)-ROWS(C:C)*(COLUMNS(C:C)&COLUMN(C:C)^(COLUMN(C:C)+COLUMNS(C:C))-COLUMNS(C:C))-(COLUMN(C:C)*COLUMN(C:C))^COLUMN(C:C)*(COLUMN(C:C)+COLUMNS(C:C))+COLUMN(C:C)*COLUMN(C:C)*(COLUMN(C:C)+COLUMN(C:C)-COLUMNS(C:C)),ROW(),COLUMNS(C:C)))
もっと探せば短くなるとは思うが、、
あんまりにも長いからちょっと解説。。
数値化すると
=INDEX(C:C,MID(65536*65536-65536*(1&80)-(3*3)^3*(3+1)+3*3*(3+3-1),ROW(),1))

=INDEX(C:C,MID(4283167945,ROW(),COLUMNS(C:C)))

min

ジョー3さん向きのもの
107=INDEX(C:C,AREAS(OFFSET(C:C,,ROW()) (E:M,E:G,F:G,F:F,F:F,F:F,F:F,F:F,I:M,I:M,I:M,I:K,I:K,J:K,K:K,K:K,M:M)))
これを短くしようかな、、と思ってちょっと考え方を発展させましたが、頭が混乱して時間切れの失敗作
172=INDEX(C:C,AREAS((OFFSET(A:A,,ROW()),OFFSET(E:E,,ROW())) (C:G,H:I,H:I,H:H,H:H,H:H,H:H,H:H,K:L,K:K,K:K,K:K,K:K,
M:M,M:M,M:M,M:M,M:M,M:M,M:M,N:N,N:N,N:N,N:N,N:N,N:N,N:N,N:N)))

y sakuda

Areasを使うって発想もすごいなw
かけらも考えなかったw

それにしても今日はくまぷーさん出てこないですねーー
お出かけかな?

ジョー3

げげーーーーーーー


あれあs


ん、、、、

areas・・・・・・???・・・・忘れてましたーーーー
・・・・・・・・・・・・・・・・・
・・・・・・・・
どひゃーーーー・・・・

くまぷー

>それにしても今日はくまぷーさん出てこないですねーー

一番はじめにコメントしていますが
圧倒されてその後は沈黙・・・

y sakuda

>一番はじめにコメントしていますが
それは見てましたけど、あんまり出てこられないので、コメントも予約投稿できるんかとおもったw

ジョー3

Areas・・・Areas・・・Areas・・・・Areas

Areas・・・・

た、た、、、、、、

たた、、、

たった一つの、、、がんばった、,,関数が・・・・・
・・・・・・・・・・・・・・・・・・・・・・
・・・・・・
あんがと、、、、

min

>あんがと、、、、

ieie

ジョー3

無理矢理c:cだけでやってみた。
結構疲れた。

・・・・・・・・・・・・・
みるだけでも、、、、、疲れる、,,

・・・・・・
おめーも、、、すぎだなーーーー
・・・・・・・・・・・・・・・・

jyo3

からくちさん  
不思議な問題、ありがとうございました。
minmax さん、たくさんの力作ありがとうございました。
む印 さん、ずる、、面白かったです。
sakuda さん、毎回参加、すごいです。

しかし、、、
重複せずに、1から9が、、、出現って、、、、
なかなか・・・・ありえませんよね、、
実は、、
π、ルート?、それらを掛けたり、割ったり・・・
あの数を、、探しました。
で、、探せず・・・・・オワリました。
=完敗・・・・・

くまぷー

>>2007からは多分ダメだろし、
>はい、なので迷いました、、、でも

2007では
=complex-erf
は数値にはならないのですね。

う~ん、む印さんはすでにこの時点で
ポイントを押さえていたんですね。
すごい盗撮力だ。いや洞察力だ!!

からくちさんもよく
=complex-erf
なんてことをやったなあ
この組み合わせを見つけたことがびっくり!!

jyo3

で、、、
今ちょっとだけ、
気になってる。

そのほかに、、、
>重複せずに、1から9が、、、出現って、、、、
簡単な式、、あるのかな?---
たとえば、(うそだけど)
=pi()^19とか・・・これはちがうけど、、、・・・・
確率的には、難しいが、探せばありそな範囲での、、、難しさ、、
もしかしたら・・・・・・32・・・・・・・

jyo3

>  =pi()^19とか・・・これはちがうけど、、、・・・・
こりゃ、、、数字が・・・・・・19・・・・

π^π-????とか・・・・だと・・・もっと難しいか?

からくち

>そのほかに、、、
>>重複せずに、1から9が、、、出現って、、、、
=LEFT(ABS(MDURATION-PRICEDISC),9)

y sakuda

しかし、からくちさん、数字が出てくる関数全部洗ってあるんだ^^;

ジョー3

>しかし、からくちさん、数字が出てくる関数全部洗ってあるんだ^^;
だと、おもった。。。。

スケールが、,,,でっかい。。。

y sakuda

良く分かりませんが、この数字アドイン関数にエンジニアが付けたIDかなにかなんでしょうが、それを使うヤツが居るってのは想定外なんでしょうね^^

しかし、この問題、正に”不思議なエクセル君”でしたね~~

min

>IDかなにかなんでしょうが・・・
む印さんなどもおんなじことを言ってましたよね。

今は環境がないのでできません。

当時、関数名が数値になることにびっくりしましたが、
さらに、
(エクセル2003で)
=IF(1,621674549)(1,1)
もEDATEで計算結果が表示されることにもたまげました。
確か、
A1セルに621674549と入れて
=IF(TRUE,A1*1)(1,2)
でも計算出来たような気がします。

y sakuda

ん?こんなの知らない・・・・
後ろの(1,1)はどういう意味なんですか?

min

>後ろの(1,1)はどういう意味なんですか?
=EDATE(1,1)
ってだけです。

む印

このアドイン関数の特徴については去年、
田中亨先生にも紹介したことがあり、
以下はそのとき頂いた返信からの抜粋です。

*********************************** 2009年 03月 02日 19:55
=IF(DAY(A1+1)=1,EOMONTH,EDATE)(A1,-B1)-1

EOMONTH関数やEDATE関数が、こうした使い方でエラーにならないのは、アドイン関数だからでしょう。つまり、実際にはVBAや4.0マクロ言語で作成したプロシージャだからだと思います。

試しに次のようなFunctionプロシージャを作成して

Function myFunc1(buf As Range)
  myFunc1 = "OK-" & buf.Value
End Function

Function myFunc2(buf As Range)
  myFunc2 = "NG-" & buf.Value
End Function

シート上で

=IF(B1=1,myfunc1,myfunc2)(A1)

とすると、正しく動作します。

EOMONTH,EDATE,myFunc1,myFunc2 は、いずれもプロシージャ名ですから、シート上では「定義された名前」と同等に扱われます。事実、名前ボックスに「myFunc1」と入力してEnterキーを押すと、VBEが起動して、作成したFunctionプロシージャにジャンプしますからね。

数式バーで

IF(DAY(A1+1)=1,EOMONTH,EDATE)

部分を選択して[F9]を押すと、私の環境では「-363659210」が返りました。おそらく、プロシージャを識別する内部のアドレスでしょう。そこがメモリ上でプロシージャを差しているため、続く括弧が引数として渡されるんですね。これは、予想しなかった動作です。

 ============================================

確かに珍しい現象です。今まで、見たことがありません。これが実際に活用される場面は少ないでしょうけど、Functionプロシージャで作成する"ユーザー定義関数"の特徴として、認識しておくべきかもしれませんね。

**********************************************END


minさんの検証、
>A1セルに621674549と入れて
>=IF(TRUE,A1*1)(1,2)
私はExcel2000だからか、数字は違いますが
EDATEを数字化してやってみたらできました!^^
参照しても可能なのはおもしろいですねd

直接 =A1(1,2) とか書くと#REFのエラーになる、、
何度も言うようですが、
IFやCHOOSEの場合分けの対象ならこういう書き方ができる
そのこと自体も面白かったです^^

y sakuda

www
鈍いな。minmaxさんがわざわざ
>=IF(1,621674549)(1,1)
>もEDATEで計算結果が表示されることにもたまげました
まで書いてくれてるのに、621674549がEdateで示される値と気が付かなかったです。
やはり、IDと言うかポインタというかその類ですね。
minmaxさんむ印さんありがとうございました。

ジョー3

お、、、話が弾んでますねーー
・・・・・
不思議ですねーーー
と、おもっても、1年たてば、忘れて、また感動・・・・かな、,,私。

ジョー3

からくちさんへ、、
私も少し捜してみました。

教えていただいた。2コは、
314972568
283167945
でしたが、
その他、、
169738245
986513427
まだ、関数でテストはしてませんが、、
一応番号だけで、、、ついつい、遊んでみました。
・・・・
時間があったら、関数で実際にテストもしてみます。

ジョー3

=BIN2DEC+ HEX2OCT
1697382451

=BESSELJ+ ERFC
986513427


でしょうか?

きっちー

久しぶりです。

EXP(true)の数値の各ケタの数値に左からそれぞれ ROW()-true-true の値 0,1,2,3,4 を足した1の位。

あと4ケタが破綻した。

じゃ、また。

からくち

>私も少し捜してみました。

=LEFT(BESSELJ+ERFC,9)
=LEFT(IMCOS*QUOTIENT,9)
=LEFT(MOD(IMCOS/INTRATE,1)*10^10,9)
=LEFT(MOD(RANDBETWEEN/AMORDEGRC,1)*10^10,9)

こんなのは如何でしょう

からくち

失礼しました

>=BESSELJ+ ERFC
先に出ていました
代わりにもう1つ
=LEFT(-ODDLPRICE/FACTDOUBLE*10^10,9)

ジョー3

おほほ、、、、

/ * ^

そかそか、、、、

そんなのも、、
あんなのも、、
いろいろ、、、やってるのねーーーー

しかし、、、
3コのデーターにして、、・・・・
あれこれやったら、,,

123456789  でも、、、
987654321  でも、、、
・・・・・・・・・・・

なんでも、、、
9桁ぐらいは、,
π、、、、
ルート・・・・2,3,5,6,7,8,・・・・
まで、あったりして、、、・・・・・
・・・・・・・・・・・・・・
・・・・・・・・・・・
わたしゃやってないけど!!!・・・・・
・・・・・・・・・・・・・・・

ジョー3

あ、、、、

2,3年前のこと、,,思い出しました。

・・・・・・・・・・・・・
む印さんがたと(違ったかなーーー)
πの計算をしたとき、、、、、・・・
・・・・・・・・・・・・・
・・・・・・・・・・
びっくりしたような気がする(記憶喪失)・・・・・
・・・・・・・

からくち

>123456789  でも、、、
>987654321  でも、、、
何時か、、、暇があったら、、、
でも、、、もの探しって、、、余り、、、

=LEFT(BIN2DEC/DEC2BIN*10^10,10)

ジョー3

うーん・・・・・

7つの9・・・・2つのデータで、・・・・・
ここまで、、、、
いいですねーーーー

>何時か、、、暇があったら、、、
あ、、、っ、、、まあ、、、・・・・・
・・・・・・・・・・・・・・

くまぷー

からくちさんの最初の言葉通り
ジョー3さん好みの問題だったようですね(o^^o)

ジョー3

>からくちさんの最初の言葉通り
>ジョー3さん好みの問題だったようですね(o^^o)

ついつい・・・・レシート問題を思い出しちゃって、,
・・・・・・・
ん、、、、・・・
・・・・・・
くまぷーさん・・・好みでもあるはずだよねーーー

くまぷー

>くまぷーさん・・・好みでもあるはずだよねーーー

そうですね~

今回のは全く思いもよりませんでした。
ひょっとしてエクセル関連では
日本で一番、マニアックなサイトになったかも・・・(^^ゞ

くまぷー

戯れにブログのタイトルを変えてみました(^^ゞ

min

こりゃ
引きますね〜

このあとどういう展開に?

ジョー3

あはは、、、、、
・・・・・・・・・・・・・・

y sakuda

>戯れにブログのタイトルを変えてみました(^^ゞ
模様替えしたなら、ここで終わる訳にはゆかないんじゃないかなwww


ジョー3

・・・・・・
>    ~日本で一番、マニアックなサイト・・・よい子はマネしたらいけません!!~

???

>模様替えしたなら、ここで終わる訳にはゆかないんじゃないかなwww

・・・・・・・・・・・
?????
どうしようーーーー

・・・・・
・・

くまぷー

>ここで終わる訳にはゆかないんじゃないかなwww

それはそうなんだけど
在庫が・・・

min

>数字は0で!
の発展形とか、、当時ちょっと想像したけど

、、忘れた。。

くまぷー

>、、忘れた。。

思い出したらよろしく!(o^^o)

y sakuda

前送ったカレンダー問題使えませんか?
金曜日のやつ

からくち

>日本で一番、マニアックなサイトになったかも・・・
=A1=B1、、、TRUE
しかし
=LEN(A1)=LEN(B1)、、、FALSE


>前送ったカレンダー問題使えませんか?、、、x2
>金曜日のやつ
第2・4週のやつ

くまぷー

>前送ったカレンダー問題使えませんか?

すみません。
頭の中から完全に飛んでいました。
今夜、公開します m(__)m

コメントの確認

コメントのプレビュー

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

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

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

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

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

処理中...

コメントを投稿

アカウント情報

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

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 メニュー