エクセルで人工無能と遊ぶ

こんにちは。

今回はエクセルを使って人工無能(登録されたパターンを使って返答する)とチャットをしてみたいと思います。

左が私が入力したもので、右がコンピュータが返答したものです。少しチャットっぽさを出してみたつもりですが、見た目は適当です。綺麗に作りたい人は工夫してみてください。

自分が発言する内容を入れ、送信ボタンを押す(マクロの実行)と自分の発言がセルに出力され、それに対する返答が返されます。上記の画像の会話が少しおかしいのは、コンピュータがランダムで返事を返すように設定しているからです。

今回は単語を3つとそれに対する返事をあらかじめ決めていました。

自分の発言→登録内容と比較→登録されたもの同じであれば決められた返事を返す→登録されていないものであればランダムな返答を返すという設定にしています。

あいさつの言葉のみ登録しており、登録された内容なので決められた返答を返しています。それ以外にはランダム返答の中からvlookup関数を使って拾い出しています。

もう少し登録する言葉を増やしたり、前方一致とか後方一致ができるのであればやってみても良いと思います。

 

簡単な説明

セルに計算式が入っているのは以下のとおりです。
上画像
・会話内容の右の数字(セルF1)=COUNTA(E2:G24)

下画像
・返事候補の右のおはようと表示されているセル(セルJ2)=IF(ISERROR(VLOOKUP(B2,J3:K25,2,FALSE))=TRUE,L2,VLOOKUP(B2,J3:K25,2,FALSE))

・ランダム返答の下反対です・・・と表示されているセル(セルL2)=VLOOKUP(RANDBETWEEN(1,43),L3:M45,2,FALSE)

マクロについて

正方形長方形の図形を作成し、マクロの登録→新規作成から以下のコードを入れています。


Sub 正方形長方形1_Click()
    Cells(2 + Cells(1, 6), 5) = Cells(2, 2)
    Hantei
End Sub
Sub Hantei()
    Cells(2 + Cells(1, 6), 7) = Cells(2, 10)
End Sub

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA