だらけ日記過去ログ:2009年1月30日(金)「素直にsplitが使えれば」

光希桃AnimeStation

Count Start 1997.9.6
だらけ日記

2009年1月30日(金)「素直にsplitが使えれば」このエントリーを含むはてなブックマーク

 何か不意にExcelがいじりたくなってしまったので、区切り文字で文字列をセル単位に分割するExcelシートを新しくしました。

ダウンロード(ZIP / 267KB)

 機能的には、1文字ではなく複数の文字列での分割と、かっこ書きに対応しました。でも分割方法は前バージョンとまるで違っていたりします。

 バージョンナンバーを2.1.0にしたのもそのせい。ローカルにある2.0.0ではその表記した機能を前バージョンの応用で作ったものなのですが、最終的にセル分割する段階で新しく作った動きが、「むしろ全体的にその処理でまわしていいんじゃない?」というような作りになっていることに今朝方気づいて、結局その方法でほとんどの部分を作り直すことに。

 前バージョンの仕組みをざっくり説明すると、「文字列から区切り文字の文字位置を検出して、その区切り位置情報を元に、文字列抽出で分割する」という動きでした。SEARCH関数がメインですが、SEARCH関数だと、その検索文字列の1回目の登場位置しか検出しないので、同じ区切りで何回も分けられているときに、処理がややこしくなるんです。

 でまぁ、今回のバージョンアップで、かっこ書きや複数文字列に対応させる流れとして、いきなりセル分割しないで、それぞれの区切りがある場所にとりあえず制御文字列入れておいて、最終的に前バージョンの1文字の文字区切りに流し込んで分割させてしまおうと考えたワケです。んで、分割位置に制御文字列がどんどん入っていった最終的なセル分割前のデータは、

あ◆区切り◆い◆区切り◆う◆区切り◆え◆区切り◆お◆区切り◆か

 こんな感じに入ることになるワケです。PHPやJavaScriptであれば、「◆区切り◆」でsplitすれば分かれて配列に入ってくれますが、Excel先生には知る限りではそんな機能はないので、これを前バージョンの方式で分割…するの面倒やなー、つか区切り文字パターンが1つであるなら、もう少し簡単な方法がありそう。

 つことで別の分割方法を考えてみた。

い◆区切り◆う◆区切り◆え◆区切り◆お◆区切り◆か
う◆区切り◆え◆区切り◆お◆区切り◆か
え◆区切り◆お◆区切り◆か
お◆区切り◆か


 区切り文字列を検索すると、ひとつめの区切り文字列の位置が出てくるので、その位置から区切り文字列を抜いた後ろの文字列を取り出す。その出てきた文字列からさらに区切り文字列を検索し、区切り文字列以降の文字列を取り出す…というのを繰り返す。(各セルに上のようなデータが入る)

 次の計算で、ひとつ後ろの文字列で置換処理して、前と次の文字列で同じになる部分を削除する。

あ◆区切り◆
い◆区切り◆
う◆区切り◆
え◆区切り◆
お◆区切り◆


 するとこういうデータになる。あとは区切り文字列を消せば分割完了。

 つまり区切り文字列が特定の区切り文字列になってさえいれば、この方法で簡単に分割ができることに。いろんな区切り文字を特定の文字列にするなら、置換(SUBSTITUTE)するだけでいいじゃん…。誰だよ文字位置とか区切り文字の順番とか同じ区切り文字が複数回あるときとかいろいろ言ってたの!(自分だ)

 ということで、区切り文字列(1文字・複数文字問わず)を淡々と特定の区切り文字列に置換して、最後に上の処理をするというかなりシンプルなものになりました。こうなると前バージョンの処理方法がむしろ恥ずかしい感じに。前バージョンの方がExcelこねくりまわしてる感があって、そういう意味では好きなんですけど。

 かっこ書き対応処理の方は、そんな単純にできなかったので、相当恥ずかしい感じで作られています。開始文字を消して、終了文字で区切る…? いや、開始文字の前が区切り文字じゃない普通の文字列だとくっついちゃう…。こっちの動き的には前バージョン踏襲してる感じ。

 まぁ、これでタグ入れも簡単に!

並び順は適当

 でも先日大量に買ってきた新曲分のタグはもう入れ終わってしまった…orz。積まないで並べると結構少なく見えるけど、53枚あります。本当はこっちの買い物話も書きたいんだけどなぁ。

 むしろ聞く曲が大量にあったからExcel作業ができたとも言う…。

光希桃AnimeStationのミドルサイズバナーです。これ以外も説明書のコーナーとかにありますので、そちらもご利用下さい。

Contents
だらけ日記過去ログ一覧
だらけ日記 過去ログ最新
あにめ感想にっきV3
旧・あにめ感想にっき
アニメ感想Navi
感想率調査 過去ログ
みきももアンテナ
はてなダイアリー出張所
ママレード・ボーイforever[!]
ママレード・ボーイ補完計画2
タイピングソフトレビュー
アニメ塗りCG
巡礼旅行のコーナー
お持ち帰りのコーナー
自己紹介
更新されない旧日記
サイト説明
更新履歴
Link
いきつけサイト
塚の中。
シャドールーム
帝国大劇場別館
12萌ンキーズ
みでぃずふぁーむ
アニ鳴館
エネルギー吸収と発散
放蕩オペラハウス
No Anime No Life
楽画喜堂
簡易メッセージ
SSL標準装備の無料メールフォーム作成・管理ツール | フォームメーラー
Name:
Mail:
Message:

ここに書かれた内容を
ネタにしてもいいですか?

いい (^O^)
匿名ならいい (^-^)
やめてッ (>_<)

Powered by FormMailer.
Other
光希桃にメール
見てるアニメ
猫ピッチャー(再)
ヘボット!
こねこのチー ポンポンらー大冒険
ぴったんこ!ねこざかな
おはよう!コケッコーさん
きもしば
アバローのプリンセスエレナ
仮面ライダーエグゼイド(特撮)
モンハンストーリーズ RIDE ON
キラキラ☆プリキュア アラモード
DUEL MASTERS
ドラゴンボール
ふるさとめぐり日本の昔ばなし
サンリオキャラクターズ
ONE PIECE
ヴァンガードG NEXT
ミラクルちゅーんず!(特撮)
ちびまる子ちゃん
バトルガール ハイスクール
スカートの中はケダモノでした。
ボールルームへようこそ
最遊記RELOAD BLAST
賭ケグルイ
セントールの悩み
ベイブレードバースト ゴッド
パズドラクロス
がん がん がんこちゃん
恋と嘘
ひとりじめマイヒーロー
異世界食堂
アニメマシテ(実写)
はじめてのギャル
アイドルタイムプリパラ
レゴタイム
GO!GO!ゴマちゃん(2)
潔癖男子!青山くん
ナイツ&マジック
プリンセス・プリンシパル
天使の3P!
妖怪アパートの幽雅な日常
魔法陣グルグル
ナナマル サンバツ
アホガール
徒然チルドレン
BORUTO―ボルト―
遊☆戯☆王VRAINS
ねこねこ日本史(2)
カイトアンサ
イケメン戦国
クリオネの灯り
てーきゅう 9期
ノラと皇女と野良猫ハート
ラファンドール国物語
NEW GAME!!
異世界はスマートフォンとともに。
ヒミツのここたま
アイカツスターズ!
ポケットモンスターサン&ムーン
スナックワールド
月刊ブシロードTV(実写)
アニゲーイレブン(実写)
サクラクエスト
ゲーマーズ!
DIVE!!
コンビニカレシ
あにむす!(実写)
将国のアルタイル
チアフルーツ
リルリルフェアリル
あはれ!名作くん(2)
妖怪ウォッチ
ドラもん
18if
実力至上主義の教室へ
サクラダリセット
地獄少女 宵伽
時間の支配者
RWBY The Beginning
信長の忍び(2)
神撃のバハムートVS
喫茶安元(実写)
無責任ギャラクシー☆タイラー
メイドインアビス
捏造トラップ-NTR-
ぼのぼの
100%パスカル先生
プリプリちぃちゃん!!
タマ&フレンズ うちのタマ
トミカハイパーレスキュー
遊戯王DM 20th リマスター
FCバディファイト バッツ
フューチャー・アベンジャーズ
スパイダーマン
デジモン アプリモンスターズ
特捜警察ジャンポリス(実写)
僕のヒーローアカデミア(2)
境界のRINNE(3)
名探偵コナン
縁結びの妖狐ちゃん
THE REFLECTION WAVE ONE
ひなろじ
Re:CREATORS
Fate/Apocrypha
活撃/刀剣乱舞
戦姫絶唱シンフォギアAXZ
バチカン奇跡調査官
ゴー!ゴー!クックルン
わしも-wasimo-(5)
居残り視聴中(一部)
機動武闘伝Gガンダム(再)
ARIA The ORIGINATION 10
DVD視聴中/視聴予定
伝心・まもって守護月天!
スクールランブル3学期
まほろまてぃっく
まほろまてぃっく〜もっと〜
番組表リンク
TVガイド
しょぼいカレンダー
MOON PHASE

NHK [アニメ]
日本テレビ
TBS[アニメ]
フジテレビ [アニメ]
テレビ朝日 [アニメ]
テレビ東京 [アニメ]

東京MXテレビ[アニメ]
テレビ神奈川[アニメ]
テレビ埼玉

BS日テレ
BS朝日
BS-TBS
BSジャパン[アニメ]
BS FUJI

アニマックス
キッズステーション
ファミリー劇場[アニメ]
カートゥーンネットワーク
チャンネルNECO[アニメ]
日本映画専門CH
LOCAL LINK
RD-S502ネットdeナビ
RD-X5ネットdeナビ
RD-X4ネットdeナビ
RD-XS40ネットdeナビ
RD-X3ネットdeナビ
Amazon.co.jpアソシエイト