ブログの内容と関係ないところから、
トラックバッグのリクエストが来るんですね。(-_-;)(-_-;)
もちろんみんな拒否しますが。
« 2007年3 月 | メイン | 2007年5 月 »
ブログの内容と関係ないところから、
トラックバッグのリクエストが来るんですね。(-_-;)(-_-;)
もちろんみんな拒否しますが。
投稿情報: 02:52 カテゴリー: 独り言 | 個別ページ | コメント (1) | トラックバック (0)
昨日は、「一太郎何でも相談室」に寄せられた要望に応じて、
「()内の文字の文字色を変更するマクロ」を作成した。
前にも作ったような気がするけど、探すのも面倒くさいし、
以前使ったものは多分正規表現を使わずに作ったと思われるので、
作ってしまった。
()とそれに挟まれた1文字以上の任意の文字列を検索して、
見つかったら、()の部分を除いた文字列だけを範囲指定して
文字色を変える。
範囲指定があったら範囲内で、なければ全文書を対象にするものを
作ろうと思ったけど、忙しいのと面倒なので、とりあえず、
全文書(だけ)を対象にするものを作って紹介したら、
「感激! ばっちりでした」というレスが付いていた。
リクエストがあれば、改良するつもりだったけど、
まぁ、好いか。(^^;)(^^;)
ダウンロードはこちらから。
投稿情報: 23:32 カテゴリー: 一太郎マクロ | 個別ページ | コメント (0) | トラックバック (0)
さて、くまぷーさんの解答だが、
Shift-F2で1文字ずつ現れてくるのも面白いけど、
1度に表示させることができたら、それはそれで面白そう。
三四郎では(もちろんExcelでも)反復回数を指定できるから、
反復回数を複数回にするとできるのではないか、
ということで、「きんぐぎどら」は6文字なので、
反復回数を6回にして、やってみた。
すると・・・「らどぎぐんき」にならずに、
「きききききき」になってしまった・・・(^^;)(^^;)
要するに、反復計算では、1度、全部のセルを計算した後、
また最初のセルから2度目の計算をする、
というのではないらしい。このケースでは、どうみても、
A3を6回反復して計算し、その後B1の再計算にかかるらしい。
どうもこの辺が理解できなくて、
悪児は循環参照は苦手(というより非論理的で嫌い?)なのだが、
とすれば、B1だけで済ませてしまえばできるのではないか、
と考えて、B1の式をもう一度見てみた。
A3を参照しているのは、元文字列の切り取り始点を指定するとき。
その数字は、今までに切り取った回数+1となっている。
だから、それを引いたあとで余計な+1分を足し直しているのだが、
それなら最初から、切り取った回数分を引いてやれば良い。
そして、切り取った回数は、そのまま、B1セルに入力されている
文字数分だから、-A3+1を-Len(B1)に替えてやれば良い。
ということで、B1の数式を
=If(A2=0,"",If(Len(B1)<Len(A1),B1 & Mid(A1,Len(A1)-Len(B1),1),B1))
に差し替え、A3を空白にし、反復回数を10回にして、
A2に一旦0を入れて、初期化してから、1を入れたら、
Shift-F2を押すまでもなく、「らどぎぐんき」が表示された。\(^o^)/
これなら、99文字まで(三四郎の反復回数の最大値)
一発&一セル変換ですね。(^^)(^^)
投稿情報: 22:56 カテゴリー: 三四郎一般, 悪児なら | 個別ページ | コメント (3) | トラックバック (0)
くまぷーさんの解答の、解説の続きです。
そして、式B。
=If(A2=0,"",If(Len(B1)<Len(A1),B1 & Mid(A1,Len(A1)-A3+1,1),B1))
はじめのIf関数は、式A同様初期化のための仕掛けだ。
A2がゼロ(空白でも数値以外の文字列でも可)だと、B1が空白にされる。
次のIf関数は、終了判定。
B1に入力された文字列が、A1と同じになると、もう変化させない。
(式では、B1がA1より小さい間は、B1の文字列にA1から切り取った
1文字を追加し、それ以外は、B1をそのままにする)
さて、その1文字の切り取りと追加が、この部分。
B1 & Mid(A1,Len(A1)-A3+1,1)
Mid関数の引数は、Mid(元文字列,始点,切り出し文字数)。
つまり、A1から、その、(Len(A1)-A3+1)番目の1文字を切り出して、
B1の文字列の末尾に連結する。
つまり、A3が1の時は、A1の文字数番目(つまり最後)の文字を切り出し、
A3が2の時は、その一つ前、というように、
「再計算」の度にA3の数字が1ずつ増えるから、それに応じて、
後ろから順に切り出して、逆順に連結していくわけだ。
Shift-F2を押す度に、ひとつずつ文字が繋がっていく・・・
見事なもんですねぇ~~(^_^)(^_^)/~
投稿情報: 21:27 カテゴリー: 三四郎一般, 悪児なら | 個別ページ | コメント (0) | トラックバック (0)
くまぷーさんが、悪児の解答を解説してくれている。(^^)(^^) 。
http://kumapooh.justblog.jp/blog/2007/04/9_73fe.html
お礼に、こちらでも、くまぷーさんの解答の解説をしよう。
くまぷーさんの解答で、数式の入っているのは、次の2セルだ。
ひとつはA3で、式(以下式A)は、
=If(A2=0,0,A3+1)
もうひとつは、B1で、式(以下式B)は、
=If(A2=0,"",If(Len(B1)<Len(A1),B1 & Mid(A1,Len(A1)-A3+1,1),B1))
これを見て、「あれ?」と思った方は、表計算をよく知っている方だ。
式Aは、A3セルに入っているのに、式の中でA3セルを参照している。
つまり、
A3=A3+1
ということで、A3セルの値は、計算をし直す度に1ずつ増えてしまうことになる。
これは、普通の使用法では、避けるべきことなのだが、
くまぷーさんは、これを上手く利用して、
マクロを使わずに、シートを動かすのがお得意なのだ。
さて、式Aの場合、単に数を増やすだけではなく、
A3の値を初期化する(0にする)ための仕掛けもされている。
それが、If関数だ。
A2セルが、ゼロなら、A3セルにゼロを代入し、
ゼロでなければ、A3セルの値を計算し直す度に1増加させる。
これで、最初に、A2にゼロを入力して初期化してから
A2に1を入力すると、A3が1になり、以下
計算し直すたびにA3の値が1ずつ増加することになる。
なお、計算をし直せ(「再計算」という)という命令は、
三四郎の場合、shift-F2で行われる。(続く)
投稿情報: 15:14 カテゴリー: 三四郎一般, 悪児なら | 個別ページ | コメント (1) | トラックバック (0)
「ごじらを逆さまに」問題の、くまぷーさんの解答が紹介された。
http://kumapooh.justblog.jp/blog/2007/04/7_525a_1.html
くまぷーさんの得意技、循環参照を使った、見事な、「名人芸」。
さすがは、くまぷーさん。
対する、悪児版は、全くの「正攻法」。
基本的なワークシート関数だけで、(式はちょっと長いですが)解いています。
興味のある方は、こちら(↓)からDLして、ご覧下さい。(^^)ゞ
投稿情報: 04:06 カテゴリー: 悪児なら | 個別ページ | コメント (7) | トラックバック (0)
投稿情報: 00:23 カテゴリー: 独り言 | 個別ページ | コメント (0) | トラックバック (0)
投稿情報: 10:41 カテゴリー: 独り言, 食 | 個別ページ | コメント (0) | トラックバック (0)
投稿情報: 02:08 カテゴリー: 独り言 | 個別ページ | コメント (0) | トラックバック (0)
投稿情報: 19:22 カテゴリー: 独り言 | 個別ページ | コメント (0) | トラックバック (0)
皆さんは、どの貴婦人が
一番素敵だと思いますか? (^^)(^^)
左:夏(2006.08.10:小田代ヶ原<奥日光)
中:秋(2006.10.10:小田代ヶ原<奥日光)
右:冬(2006.02.22:小田代ヶ原<奥日光)
-----各種メニュー----
→ 日光(等)の名所&景勝地 →ブログメニュー
---------------
投稿情報: 23:25 カテゴリー: 独り言 | 個別ページ | コメント (0) | トラックバック (0)
投稿情報: 00:05 カテゴリー: 独り言 | 個別ページ | コメント (0) | トラックバック (0)
次は、
A1に全角カタカナの「ゴジラ」をバラバラにして逆さまにして欲しい。
だそうだ。
http://kumapooh.justblog.jp/blog/2007/04/4_476a.html
やってみました。
三四郎じゃあんまり簡単なので、Excelでも。(^^)ゞ
こ゛し゛らを18文字以下で「ばらばら」にする、「方法」
1.「右詰」
A2に、
=Left($A1,Col(A1))
E2まで、右コピー。
A2:E2のセル書式-配置-横位置を右詰にし、セルの列幅を1文字分にすると・・・
2.さらに「ずる」
A2に
=Mid($A1,A8,1)
E2まで、右コピー。
A8からE8に、1,2,3,4,5を入力すると・・・
3.Mid以外。
Foldをつかう。
=Fold($A1,1,Col(A1))
これは、「ずる」じゃ、ありません。(^^)ゞ
投稿情報: 10:09 カテゴリー: 三四郎一般, 悪児なら | 個別ページ | コメント (1) | トラックバック (0)
くまぷーさんの
「教員のための三四郎活用講座」で、
A1セルに入っている「ごじら」をばらばらにせよ
という問題が提出された。
B1~B5に数式を入れて、
B1に「こ」、B2に「゛」、B3に「し」、B4に「゛」、B5に「ら」
と表示させるのである。
http://kumapooh.justblog.jp/blog/2007/04/3_2b1b.html
なお、式は、各セルに別々に入れるのではなく、
B1に入れた式をB5まで「右コピー」するのが「お約束」
もちろん、すぐに作った。
=Hira(Zen(Mid(Han(Kata($A1)),Col(A1),1)))
当然といえば当然だが、
これは、べべちゃんの解答と全く同じ。
ところが、今度はそのべべちゃん、
「ごじら」ならぬ「こ゛し゛ら」なら、
三四郎で、「等号を含めて18文字!!」でできる、
とおっしゃってるではないか。
やってみた。
=Mid($A1,Col(G1),1)
とこが、文字数を数えると、19文字!!
一文字多いではないか。
ううん、ちょっと困ったが、できない、じゃ、情けない。
ちょっと「ずる」しても、ってことで、考えた。
まずは、「右詰」を使った。これだと、ジャスト18文字。
これかなぁ~~(^^;)(^^;)
それからもっと「ずる」をして、14文字とか、
Midを使わずに、20文字、なんていうのも考えた。
ところが、その後くまぷーさん曰く。
18というのは数え間違えで、19文字だった。
あちゃ~~ _| ̄|○
投稿情報: 00:04 カテゴリー: 三四郎一般, 悪児なら | 個別ページ | コメント (2) | トラックバック (1)
投稿情報: 08:13 カテゴリー: 独り言 | 個別ページ | コメント (0) | トラックバック (0)
投稿情報: 00:05 カテゴリー: 独り言 | 個別ページ | コメント (0) | トラックバック (0)
悪児の「ちょっと独り言」をブログでやってみようと思います。
まだ、なにも分からない状態で、やっているので未定ですが、
カテゴリーでいろいろ分けることもできるようなので、
「ハイキング日記」や、マクロ解説なども、こちらでやれたら、
と思っています。
まずは、ぼちぼちと・・・(^^)ゞ
さて、過去に遡っての投稿もできるようですね。
他に書いていた日記を移植します。(^^)ゞ
投稿情報: 21:03 カテゴリー: 独り言 | 個別ページ | コメント (1) | トラックバック (0)
投稿情報: 22:49 カテゴリー: 独り言 | 個別ページ | コメント (0) | トラックバック (0)
投稿情報: 22:34 カテゴリー: 独り言, 食 | 個別ページ | コメント (0) | トラックバック (0)
投稿情報: 22:22 カテゴリー: 独り言 | 個別ページ | コメント (0) | トラックバック (0)
投稿情報: 21:53 カテゴリー: 独り言 | 個別ページ | コメント (1) | トラックバック (0)
最近のコメント