※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。


とうじょうじんぶつ

そらとび先生 怪しいケモノ
人物紹介:そらとび先生
自称空飛ぶ犬。
なんかいっぱい増えたらしい。
体はエクセルでできているのでたぶんコピペしたんだろう。
人物紹介:怪しいケモノ
未確認生命体。
実はまだ存在しない。
こいつも体はエクセルでできている。

○HR


そらとび先生:
「久々に番外編ではなく本編をやってみようと思いますが、4時間目に予定していた表の操作の続きは延期していきなり5時間目を行います」
そらとび先生:
「5時間目は文字列操作の応用編です。番外編の2時間目でテキストで表記されたMAPの内容を1セルごとに分割して表示する方法を説明しましたがアレより若干やることが増えていますので覚悟してください」
そらとび先生:
「なお、缶は逃亡しましたので追っ手を放ちました」

○5時間目:文字列操作応用編


そらとび先生:
「では、まず下記のアイドレスデータを見てください」


L:空とびわんわん = {
 t:名称 = 空とびわんわん(職業)
 t:要点 = 大きな耳の翼,犬,長い毛
 t:周辺環境 = 空
 t:評価 = 体格4,筋力4,耐久力4,外見0,敏捷0,器用0,感覚1,知識0,幸運1
 t:特殊 = {
  *空とびわんわんの職業カテゴリ = 派生職業アイドレスとして扱う。
  *空とびわんわんは飛行している。
  *空とびわんわんはAR15としてみなす。
  *空とびわんわんは白兵戦闘行為が出来、この時、攻撃、防御、移動判定は評価+3される。
 }
 t:→次のアイドレス = 怪獣犬?(職業),犬天使?(職業),虐殺?(イベント),メルヘンドッグ?(職業)


そらとび先生:
「今回は例として評価の数値を1セルごとに分割して表示する方法を説明しましょう」
そらとび先生:
「MAPデータと違って評価値は必ず1文字になるとは限らない為、使う関数が増えております」

今回使用する関数


LEN

SEARCH

MID

SUBSTITUTE

VALUE


そらとび先生:
「まずは操作する文字列をよ~~く見ましょう」

今回操作する文字列

 t:評価 = 体格4,筋力4,耐久力4,外見0,敏捷0,器用0,感覚1,知識0,幸運1

そらとび先生:
「今回やりたいことは、上記の文字列をコピペすれば」


そらとび先生:
「の様にそれぞれの評価値が表示されることです。先程も言いましたが評価値は必ずしも1文字では無いので、ここでどのように文字列を弄っていくかをしっかりと考えます」

現在思考中・・・


ポックポックポック  ティーン!

そらとび先生:
「はい、プランが決まりました。以下の手順で進めることにします」

手順1,各評価名をキーにして対象の文字列から”評価名+評価値”部分のみを抜き出す
手順2,”評価名+評価値”を”評価値”だけにする
手順3,”評価値”を数値データに変換する

そらとび先生:
「ではさっそく始める事としましょう。まずは下準備から」


そらとび先生:
「準備が終わったらまずはA2のセルに今回操作する文字列をコピペしましょう」
そらとび先生:
「次にA5のセルに”=LEN(A2)”、B5のセルに”=SEARCH(B3,$A$2)”と入力しましょう。」


そらとび先生:
「はい、いつも通り謎生物が説明してくれました」
そらとび先生:
「さて、B5のセルをコピーして横の方向のC5~J5へ貼り付ければ手順1は半分くらい終了です」


そらとび先生:
「残りの半分です。B6に”=MID($A$2,B5,C5-B5-1)”と入力、B6をコピーしてC6~I6へ貼り付けましょう」


そらとび先生:
「J6には”=MID($A$2,J5,A5-J5+1)”と入力しましょう」


そらとび先生:
「これで”手順1,各評価名をキーにして対象の文字列から”評価名+評価値”部分のみを抜き出す”が終わりました引き続き手順2を行います」
そらとび先生:
「B7に”=SUBSTITUTE(B6,B3,"")”と入力、B7をコピーしてC7~J7へ貼り付けましょう」


そらとび先生:
「”手順2,”評価名+評価値”を”評価値”だけにする”はこれで終了」
そらとび先生:
「残すは手順3だけとなりました。”=VALUE(B7)”とB4に入力、B4をコピーしてC4~J4へ貼り付けましょう」


そらとび先生:
「これでミッションコンプリートです。ためしに」

 f:評価 = 体格0,筋力0,耐久力-1,外見4,敏捷1,器用-1,感覚6,知識4,幸運1

そらとび先生:
「これをA2に貼り付けてみましょう」


そらとび先生:
「ちゃんと表示されれば出来上がりです」

解説編


そらとび先生:
「今回はちょっと複雑なので各関数でどういう処理が行われたかを解説していこうと思います」

=LEN(A2)


そらとび先生:
「「この関数は、A2へ貼り付けた文字列の文字数を表示する処理を行っています。なぜ、文字列の文字数が必要かは後で解説します」

=SEARCH(B3,$A$2)


そらとび先生:
「この関数は、A2へ貼り付けた文字列のなかからB3に入力されている”体格”を探し出し、左から何番目に位置するかを表示する処理を行っています」
そらとび先生:
「その後の、B5のセルをコピーして横の方向のC5~J5へ貼り付ける処理も各評価値が文字列の左から何番目に位置するかを表示する処理となります」

=MID($A$2,B5,C5-B5-1)


そらとび先生:
「この関数は、A2に貼り付けた文字列の左からB5番目の位置からC5-B5-1文字を表示する処理を行っています」
そらとび先生:
「わかりやすく説明すると」


そらとび先生:
「の様になります」
そらとび先生:
「その後の、B6をコピーしてC6~I6へ貼り付ける処理も文字列から”評価名+評価値”を抜き出し表示する処理を行っています」

=MID($A$2,J5,A5-J5+1)


そらとび先生:
「この関数も行っていることは同じですが表示する文字数を計算する為に、”=LEN(A2)”の処理で表示されている文字列の文字数を利用しています」


そらとび先生:
「こんな感じですね」

=SUBSTITUTE(B6,B3,"")


そらとび先生:
「この関数は、B6に表示されている文字列の中からB3に表示されている文字列を””の間に入っている文字列と置き換える処理を行っています」
そらとび先生:
「今回の場合は””の間になにも入っていないので、対象の文字列が削除されます」
そらとび先生:
「B7をコピーしてC7~J7へ貼り付ける処理も同じ処理を行っています」

=VALUE(B7)


そらとび先生:
「この関数で、B7に文字として表示されている評価値を数値に変換して表示しなおしています」
そらとび先生:
「B4をコピーしてC4~J4へ貼り付ける処理で他の評価値も同じように変換を行っています」

そらとび先生:
「以上で解説を終わりますが、注意事項を一つ。操作する文字列が一定の書式で記載されていないときちんと処理が行われません。この点に注意しましょう」
そらとび先生:
「さてここで問題です」

○メンバー表
PC名:根源力:兵科:重量:基本移動速度(重量修正済み):視程:備考
寺谷 武:15200:レンジャー/偵察兵:162 :6(軽荷):2210:望遠鏡使用時4420、夜戦装備有り、夜戦時1171、夜戦時望遠鏡使用2342

そらとび先生:
「上記の書式を各項目ごとに分割して1セルごとに表示するように処理してみましょう」

ヒント :を使いましょう

そらとび先生:
「それではまた次回。さよーならー」