パソコン仕事5倍塾
35,000人を指導した東大卒・元日本IBM社内講師が直伝
MENU
金子 伊智郎さんの投稿
(投稿ID: 3454)
Sub bunkatsu2() Dim gyo Dim todofuken_idx Dim shikugun_idx Dim jyusho For gyo = 2 To 12 jyusho = Range("B" & gyo).Value If Left(jyusho, 3) = "東京都" Then todofuken_idx = Len("東京都") ElseIf Left(jyusho, 3) = "北海道" Then todofuken_idx = Len("北海道") ElseIf Left(jyusho, 3) = "大阪府" Then todofuken_idx = Len("大阪府") ElseIf Left(jyusho, 3) = "京都府" Then todofuken_idx = Len("京都府") ElseIf InStr(jyusho, "県") > 0 Then todofuken_idx = InStr(jyusho, "県") End If Range("C" & gyo).Value = Left(jyusho, todofuken_idx) If InStr(todofuken_idx + 1, jyusho, "町田市") > 0 Then shikugun_idx = InStr(jyusho, "町田市") + 2 ElseIf InStr(todofuken_idx + 1, jyusho, "村") > 0 Then shikugun_idx = InStr(jyusho, "村") ElseIf InStr(todofuken_idx + 1, jyusho, "町") > 0 Then shikugun_idx = InStr(jyusho, "町") ElseIf InStr(todofuken_idx + 1, jyusho, "区") > 0 Then shikugun_idx = InStr(jyusho, "区") ElseIf InStr(todofuken_idx + 1, jyusho, "市") > 0 Then shikugun_idx = InStr(jyusho, "市") ElseIf InStr(todofuken_idx + 1, jyusho, "郡") > 0 Then shikugun_idx = InStr(jyusho, "郡") End If Range("D" & gyo).Value = Mid(jyusho, todofuken_idx + 1, shikugun_idx - todofuken_idx) Range("E" & gyo).Value = Mid(jyusho, shikugun_idx + 1) Next End Sub
小川 慶一さんのコメント
(コメントID: 4920)
金子 伊智郎さんのコメント
(コメントID: 4927)
(コメントID: 4930)
Captcha:
たった1ヶ月で人生が劇的に変わりました
佐藤信さん
役員クラスの方から高い評価を受けるようになりました。
佐賀県 - 岩本徹さん
今までまったく知らなかったショートカットキーを使いまくっています。
東京都 - 鷹觜慶さん
年齢60才間近、営業で外回りの時間が多い私でも退社時間が1-2時間程度早くなりました。
東京都 - 宗内隆明さん
受講前もすでにパソコン得意でしたが、そんな私でも受講して本当に良かったと思えた講座です。
東京都 - 佐伯とも子さん
ここまで包括的に仕事に役立つ深い学びを受けれた講座は初めてでした
東京都 - 飯田倫子さん
2025年07月04日 18:46
2025年06月12日 15:17
2025年06月10日 08:38
2025年06月02日 06:28
2025年06月01日 18:17
2025年07月04日 18:56
2025年06月12日 15:34
2025年06月10日 14:40
2022年02月24日 10:59
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
2022年02月02日 00:00
2022年02月02日 03:00
2022年02月02日 06:00
2022年02月02日 09:00
2022年02月02日 12:00
2025年07月03日 15:45
2025年06月30日 13:30
2025年06月25日 17:30
2025年06月23日 20:45
2025年06月16日 15:45
2025年06月02日 22:50
2025年05月14日 11:55
2025年02月04日 08:51
2025年02月03日 12:58
2024年11月27日 11:48
2025年03月26日 22:33
2025年03月26日 22:12
2025年03月24日 22:28
2025年03月19日 20:10
2025年03月18日 20:52
2025年04月16日 08:30
2025年03月18日 09:07
2025年03月18日 09:06
2025年03月15日 13:23
2025年02月26日 16:37
2025年04月02日 21:01
2025年04月02日 20:47
2025年04月02日 20:37
2025年04月01日 22:03
2025年04月01日 21:27
2025年04月16日 08:32
2025年03月18日 09:10
2025年03月18日 09:09
金子 伊智郎さんの投稿
(投稿ID: 3454)
ですので若干改修してみました。
他にもうまくいかないケース(千葉県市原市など)は多々あると思いますが
このセンテンスでは全パターンを網羅するマクロを作成する(=品質を高める)のが目的ではないと理解しておりますのでこれで良しとします。
小川 慶一さんのコメント
(コメントID: 4920)
> このセンテンスでは全パターンを網羅するマクロを作成する(=品質を高める)のが目的ではないと理解しておりますのでこれで良しとします。
ですね。
実際のところ、そういうところまで作り込んだマクロを書くべきか?マクロにはざっとした処理だけさせて、細かい修正は手作業でするか?は、実務上の要請次第です。
手作業でなおすなら、たとえば、『「市」や「町」という文字が2つ以上見つかった場合には、どっかの列に「×」と記入する』、そして、あとは、目視や、ショートカットキー [Ctrl] + [↑] または [↓] でその列に記入された値を調査していく、という感じでマクロに支援させるというのもあります。
いただいたサンプルについても、 Select Case 文や Split関数といった発展編1、発展編2で学べるノウハウを組み合わせるとより華麗にすっきりとした、メンテナンス性高いコードで書き上げられるようになります。
ひきつづきお楽しみください☆
金子 伊智郎さんのコメント
(コメントID: 4927)
コメントありがとうございます。
参考になりますし納得しています。
完璧なものに近づけようとするとコストと時間を消費しますし、
コードも複雑になりがちです。
後々メンテする際にも本人しか直せないマクロ、もしくは本人で
あっても直せないマクロになってしまうのでは、という危惧があります。
凝ろうと思ったらいくらでも凝ったものは作れるため、要件・要求に
応じたバランス感覚は重要だと思っております。
ひとりよがりのプログラマだけが満足するだけのものは避けないと
と思っています。
> 金子 伊智郎さん:
>
> > このセンテンスでは全パターンを網羅するマクロを作成する(=品質を高める)のが目的ではないと理解しておりますのでこれで良しとします。
>
> ですね。
> 実際のところ、そういうところまで作り込んだマクロを書くべきか?マクロにはざっとした処理だけさせて、細かい修正は手作業でするか?は、実務上の要請次第です。
>
> 手作業でなおすなら、たとえば、『「市」や「町」という文字が2つ以上見つかった場合には、どっかの列に「×」と記入する』、そして、あとは、目視や、ショートカットキー [Ctrl] + [↑] または [↓] でその列に記入された値を調査していく、という感じでマクロに支援させるというのもあります。
>
> いただいたサンプルについても、 Select Case 文や Split関数といった発展編1、発展編2で学べるノウハウを組み合わせるとより華麗にすっきりとした、メンテナンス性高いコードで書き上げられるようになります。
>
> ひきつづきお楽しみください☆
小川 慶一さんのコメント
(コメントID: 4930)
パレートの法則(8:2の法則)が参考になります。
8割の改善であれば2割のコストでできます。
10割の改善をしようと思うと、10割のコストがかかります。
「残り2割の改善に、8割のコストがかかる」ということですね。
ですので、実務では、「8割の改善」をしたらそれ以上ムリに仕組み化しようとはせず、手元のリソースを使って別のことの改善をするほうが有利です。
ざっくりしたモデルで考えると:
[1] 1つの仕事を10割マクロ化する→10のコスト
[2] 1つの仕事を 8割マクロ化する→ 2のコスト
ということですので、[2]より、以下が言えるかもしれません。
[結論] 5つの仕事を 8割マクロ化する→10のコスト
↑
...というのは、ウソです。詭弁ですので信用しないように。
なぜなら、5つの仕事があったとしたら、パレートの法則によれば、そのうち本当にビジネス上のインパクトの有る仕事は1つだけなので。
考え方の参考にはなるかとは思いましたので、半分冗談で、あえてこんな試算を示してみました ヾ(´ー`)ノ
長くなりましたので、このへんで...。
> 小川慶一さん:
>
> コメントありがとうございます。
> 参考になりますし納得しています。
> 完璧なものに近づけようとするとコストと時間を消費しますし、
> コードも複雑になりがちです。
> 後々メンテする際にも本人しか直せないマクロ、もしくは本人で
> あっても直せないマクロになってしまうのでは、という危惧があります。
> 凝ろうと思ったらいくらでも凝ったものは作れるため、要件・要求に
> 応じたバランス感覚は重要だと思っております。
> ひとりよがりのプログラマだけが満足するだけのものは避けないと
> と思っています。