ChatGPTでプログラミング学習が変わった。ChatGPTと検索の違い。

  • URLをコピーしました!

AIが質問に答えてくれるChatGPT。
プログラミング学習にも使えます。

※ChatGPTの画面 by Nikon Z9+105mmF2.8

ChatGPTが得意な分野の1つは、プログラミング

ChatGPTに質問を入れれば、AIが答えてくれます。
どんな質問でも答えてくれるわけではなく、得意不得意はあるものです。
人と同じように。

ChatGPTが得意な分野の1つは、プログラミング。
プログラミングは、ある程度パターンが決まっているからです。

たとえば、こういったExcelがあるとします。
シートが3枚あり、それぞれセルA1に1,2、3を入っていて、それをシート「集計」に集めるという事例です。

これをChatGPTに「ExcelマクロですべてのシートのセルA1をシート「集計」にあつめて」と聞いてみると、こういった答えが返ってきます。
実際に使えるコード(プログラム)です。

このChatGPTは、プログラミング学習を変えました。
これまでとは違った学び方ができます。

YouTubeでもアップしました。

 

これまでとはどう違っているか、まずは、ChatGPTと検索の違いをまとめてみました。

ChatGPTと検索の違い

これまでのプログラミングの学び方は、
・基本書を読む、セミナーを受ける
・ネットで検索する
の両方がおすすめでした。
(プログラミングに限らず)

ネットで検索すれば、似たような事例が出てくるからです。
ただ、出てきた情報が自分に合っているかの判断や自分の事例に合わせてアレンジしなければいけません。
基礎知識は欠かせないものです。

これまでの
・基本書を読む、セミナーを受ける
・ネットで検索する
に加えて、
・ChatGPTに入れてみる
というのが加わりました。

ChatGPTと検索の違いは、具体的かどうか。
検索して出てくる事例は、ぴったりのものはありません。
「ExcelマクロですべてのシートのセルA1をシート「集計」にあつめて」と検索するとこのような結果が出てきます。


答えらしきものは出てきますが、それを読み解くスキルも手間も必要です。

これがChatGPTだと、ぴったりのものが出てきます。
セルA1、「集計」という固有の事例も答えに組み込んでくれるのです。
検索と人の間に位置する答えと言えるでしょう。

これがプログラミングの学ぶ方を変えました。

これからのプログラミングの学び方

プログラミングでいえば、ひとまず「答え」を得られる時代になったのです。
「答え」を得てから勉強する
というアプローチがプログラミングでもできるようになりました。

答えを効率よく得て、ひとまず効率化し、その時間でプログラミングの基礎を勉強することができます。
0からプログラミングできる必要はありません。
結果がよければそれでいいのです。

検索でもChatGPTでも、基礎の勉強はやはり欠かせません。
ChatGPTでいろいろと試していると、プログラミングでも間違った答えが出てきます。
実際に使うとエラーになるのです。

そのエラーChatGPTへ再度入れると解決策がわかる場合もあります。
対話しながら、学ぶこともできるということです。

そして、大事なのは、質問。
いい質問をすることで、的確な答えを得ることができます。
まあ、これは人、検索でも同じではありますが、ChatGPTは検索よりも答えの精度が高く、人よりも融通が利かない(当然のことですが)からこそ、質問の精度がより重要なのです。

たとえば、こう聞くと、マクロではなく、普通にExcelの機能を使った答えになりました。
この方法だと、日が暮れます。
こういったとき、「やっぱAIはダメだ」「使い物にならない」と思わないようにしましょう。
質問に問題があると考えるべきです。
(これは、人に対するときもそうです。ア○な上司はすべからくプログラミングなりChatGPTなりで学ぶべきだと思います。)

「Excelマクロで」をつけると、マクロで答えてくれました。

 

ただし、
このSheets(“集計”).Cells(i, 1)という表現は、おすすめしていません。
これは、A列のセル(A1、A2、A3)という意味。
セルA1は、Range(”A1″)という表現のほうが、私はわかりやすいと思うのです。
cells(1,1)という表現もできますが、じゃあ、cells(5,1)だとどのセルかぱっとわかりません。
(わかるかたもいらっしゃるかもしれませんが)

これは、人でも意見が分かれます。
ChatGPTは、入力するたびに、答えが変わるのも特徴です。
cellsのときもRangeのときもありますが、今回は、cellsをより多く使っていました。

そこで、こういった質問に変えてみます。
Rangeで答えてくれました。
自分好みの答えを導き出すためには、質問を変えればいいのです。

 

さらには、毎回、手順を説明してもらう必要はありません。
私の場合は、ChatGPTの有料版なので、答えが出てくるのが速いのですが、それでもないほうがいいです。
「コードだけ表示して」と加えてみました。

厳密にいえば集計するときにシート「集計」自体は除いてほしいものです。
このように質問を変えました。

 

 

これで完璧です。
ただ、私が書くとこうなります。

Sub macro()

    Dim row
    row = 1
     
    Dim w
    For Each w In Worksheets
        If w.Name <> "集計" Then
            Worksheets("集計").Range("a" & row).Value = w.Range("a1").Value
            row = row + 1
        End If
    Next

End Sub


なぜこう書くのか。
それなりの理由、哲学はあります。

ただ、目的を果たす(効率化する)だけならChatGPTでいいわけです。
これはこれまでにないことではないかと。

自分がプログラミングする前にChatGPTへ入れて、どういう答えになるか確かめるという勉強もできます。

プログラミングを使いこなすには、自分で書ける(打てる)ことが欠かせません。
ただ、その過程では、答えを先に見ちゃってもいいと思うのです。
そのほうが効率的ですし。

税理士試験の勉強でも先に答えを見ていました。
それで理解してから試験日までに自分で解けるようになればいいのですから。

勉強は、
「苦労して書けばいい」
「汗水流さなきゃいけない」
「時間をかけて考えなければいけない」
というものでもありません。
(苦労も汗水も時間もかけるべきところはありますけどね)

プログラミング学習は依然として楽ではありませんが、ChatGPTで勉強方法が変わりました。
これを機会に挑戦してみましょう。
(ChatGPTをさわっていない方はぜひ。無料版でかまいません)

 

 



■編集後記
昨日は、午前中は、家族と買い物・ランチ。
サンリオショップでいちご新聞も手に入れました。
午後は、タスク管理入門セミナーを開催。
17時に終わり、娘と約束していたプールへ。

1日1新Kindle『1日1新』
とある予約
タスク管理入門セミナーリメイク

■娘(5歳)日記→Kindle『娘日記』・ Kindle『娘日記Ⅱ』
午後はセミナーで、その後プールに行く約束を。
少し暖かくはなったので。
ただ、いざ行こうとするやはり寒く・・・・・・。
「やめる?」と聞いても行く気満々でした。
年末のレッスン後はじめてのプール。
そのレッスンでやはり一皮むけていて、水は全然平気でした。
昨日は、浮くこつを教え、片手ずつ練習してクロールを。
いい感じでできていました。
パパが苦労したスイム。
だからこそ伝えられるコツがあります。

  • URLをコピーしました!