添乗員の仕事

便利な機能 Excel VBA Copilot ChatGPTの活用 修正する場合

添乗員の仕事

便利な機能 このサイトで紹介している記事の中でひっそり人気なのがこの記事↓↓ 今回はこのシリーズのPartⅡです

地味~に見てくれている人が多いようです。でもしょせん素人が作ってるからね…上手くいかないことも多い。

今日も、同僚に「うまくできなかった~」と恨み節を聞かされ「できるはずなんだけどな・・」と見てみたら

添乗員
添乗員

いかんがね!
コピペするとマイナスがクエスチョンになってたり、アポストロフィが全角になってたり… ちょっと文字化け起こしてる!汗っ

ということで、きちんと貼り付けをし直しました。

それでもできなかったときに、修正方法として有効なもの。

それが今回紹介する「ChatGPT」「COPILOT」です!

パソコンに標準装備されてるのに、使ってない人が多い。(添乗員界隈です)

パソコンが得意でないそこの添乗員!あなたのための機能がすべて備わっていますよ!

便利な機能 ChatGPTとCOPILOT

早速質問をしてみました。〈チャットGPTとCOPILOTの違いは何ですか〉

1. 用途と目的

  • ChatGPT
    • 会話型AIとして、さまざまな質問やリクエストに対応します。コードの作成支援だけでなく、一般的な質問や、資料の調査、文章の執筆など、幅広い分野でのサポートが可能です。
    • プログラミング以外にも、日常会話から専門的な知識まで多岐にわたる話題に対応します。
  • GitHub Copilot
    • 開発者向けのコード補完AIで、プログラミングを主目的としています。
    • VS Codeなどの統合開発環境(IDE)に直接組み込まれ、コードの補完や自動生成を行います。関数やロジックを予測してリアルタイムでコードを補完することに特化しています。

つまり、私レベルの素人ならどっち使ったってあまり変わらないってことだよね。

〈ChatGPT〉と検索欄に入れれば、すぐに使い始められるのも魅力の一つ。

そこに、例えば今回なら「以下のコードだとエラーが出るので修正して」と書き、コードをコピペすれば修正案を出してくれます。

すると、修正したコード・どこを間違えていたのか・注意点などを教えてくれるので最高です。

実用例 ローマ字をカタカナにしたい

今日、相談を受けた案件は「ローマ字をカタカナにしたい」でした。

こんな時もまさにChatGPT先生の出番です。

実際に入れてみた様子は以下の通り

このコードを見てみると対応表に、濁音などが入ってないので「濁音なども入れてください」と続けて指示

それでできたコードは以下の通り

Function RomaToKatakana(text As String) As String
    Dim roma As Variant
    Dim kana As Variant
    Dim i As Integer
    Dim result As String
    Dim originalText As String

    ' ローマ字とカタカナの対応表を用意
    roma = Array("kya", "kyu", "kyo", "sha", "shu", "sho", "cha", "chu", "cho", _
                 "nya", "nyu", "nyo", "hya", "hyu", "hyo", "mya", "myu", "myo", _
                 "rya", "ryu", "ryo", "gya", "gyu", "gyo", "ja", "ju", "jo", _
                 "ba", "bi", "bu", "be", "bo", "pa", "pi", "pu", "pe", "po", _
                 "ka", "ki", "ku", "ke", "ko", "sa", "shi", "su", "se", "so", _
                 "ta", "chi", "tsu", "te", "to", "na", "ni", "nu", "ne", "no", _
                 "ha", "hi", "fu", "he", "ho", "ma", "mi", "mu", "me", "mo", _
                 "ya", "yu", "yo", "ra", "ri", "ru", "re", "ro", "wa", "wo", "n", _
                 "ga", "gi", "gu", "ge", "go", "za", "ji", "zu", "ze", "zo", _
                 "da", "de", "do", "a", "i", "u", "e", "o")
    kana = Array("キャ", "キュ", "キョ", "シャ", "シュ", "ショ", "チャ", "チュ", "チョ", _
                 "ニャ", "ニュ", "ニョ", "ヒャ", "ヒュ", "ヒョ", "ミャ", "ミュ", "ミョ", _
                 "リャ", "リュ", "リョ", "ギャ", "ギュ", "ギョ", "ジャ", "ジュ", "ジョ", _
                 "バ", "ビ", "ブ", "ベ", "ボ", "パ", "ピ", "プ", "ペ", "ポ", _
                 "カ", "キ", "ク", "ケ", "コ", "サ", "シ", "ス", "セ", "ソ", _
                 "タ", "チ", "ツ", "テ", "ト", "ナ", "ニ", "ヌ", "ネ", "ノ", _
                 "ハ", "ヒ", "フ", "ヘ", "ホ", "マ", "ミ", "ム", "メ", "モ", _
                 "ヤ", "ユ", "ヨ", "ラ", "リ", "ル", "レ", "ロ", "ワ", "ヲ", "ン", _
                 "ガ", "ギ", "グ", "ゲ", "ゴ", "ザ", "ジ", "ズ", "ゼ", "ゾ", _
                 "ダ", "デ", "ド", "ア", "イ", "ウ", "エ", "オ")

    ' 変換結果を保持する変数を初期化
    result = ""

    ' 元のテキストの長さまでループ
    Do While Len(text) > 0
        ' スペースがあればそのまま追加
        If Left(text, 1) = " " Then
            result = result & " "
            text = Mid(text, 2)
        Else
            ' 変換表を上から順にチェック
            For i = LBound(roma) To UBound(roma)
                ' ローマ字がテキストの先頭に一致したら変換
                If InStr(text, roma(i)) = 1 Then
                    result = result & kana(i)
                    text = Mid(text, Len(roma(i)) + 1)
                    Exit For
                End If
            Next i
        End If
    Loop

    ' 結果を返す
    RomaToKatakana = result
End Function

どうやらカタカナ→ローマ字は簡単みたいなんだけど、ローマ字→カタカナはたいそう難しいみたいです。

今日、実際のリストを使ってやってみたんだけど、手修正がかなり必要です。

長音とかの見分けがつかないんです。

ONOとかいってあった場合、小野か大野か分からない。YUKAだったら由香か優香か分からない。

ネームリストを見るときは漢字があるのでわかるんですけど、ローマ字だけでは分からない。

それでも「1から全部打ってくよりは数段マシ」と言ってくれたので、良しとしましょう。


ちなみにパスポート申請の時のルールは、しっかり決まっていまして旅券センターのホームページにも載ってます→兵庫県の場合  以下引用

<3>氏名表記の例外 1) OH による長音表記「おう」または「おお」(末尾の「おお」を除く)の長音は、申請書用紙には O と記入していただきますが、パスポートでは OH と表記することもできます。
[例] 
 大野(おおの)  ONO  →  OHNO
 洋子(ようこ)  YOKO  →  YOHKO

こういう文字は、一個ずつ見ていくしかないので大変です。

添乗員
添乗員

まだ万能ではないけど、助かるのは事実

便利な機能 行を挿入したあと、指定の列のセルを結合したい 前回からの続き

あとは、もう簡単ですね。やりたいことをChatGPT先生に聞きまくるだけです。

旅行のルーミングリストって考えてみると結構ややこしいね。でもこのスタイルじゃないとみにくいしね・・

プロンプト
プロンプト

挿入した後、セルを結合したい
例えば3行目の下に1行足した → 3行目と4行目のB列を結合する
8行目に2行足した → 8行目9行目10行目のB列を結合する
この場合のVBAコードは?

ツインの人はツインの人、トリプルの人はトリプルの人でまとめて部屋番号を書く欄を作成しておきたいものね。

↑以前の記事の中のコードに,例えばB列のところに部屋番号を書くなら以下のコードを追加すればいいと先生は教えてくれました。

' B列のセルを結合
            Range("B" & i & ":B" & i + z).Merge

試しましたが、ちゃんとできました。

そして、最後はChatGPT先生にできました、と報告すると

ちゃんとお返事もくれます。

どんどん使ってみましょう!

関連記事:チェックイン

コメント

タイトルとURLをコピーしました