A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
学校の課題ということなので、何か学習の目的があるんだろうと思うのですが、それは無視して良いですか?また、Excelが前提で良いんですよね?
それで問題なければ・・・、
添付画像のようなシートを作成して、次の動作をVBAで行ってみてはいかがでしょうか?
B1セルの内容で質問を表示し、回答でフィルタをかける。
次にC1セルの内容で質問を・・・を繰り返して、最終的に1行に絞る。
フィルタを掛けていくと質問によっては回答が「はい」または「いいえ」のみになるものが出てくるので、その質問はスキップして次の質問に進む。
No.5
- 回答日時:
こんばんは
単純な、Yes、Noの2分岐でよいのなら、2の倍数で設問の数が増えていくので、設問を並べておいて、選択してゆくようなループにしておけば良いのではないでしょうか?
回答をどうやって算出するおつもりなのか不明ですけれど、同様に1対1で回答を作成しておいてもよいかも。
あるいは、要素が1、2、4・・と増加するような2次元配列で設問を作成しておく方がわかりやすいかも知れませんね。
以下に、前者の考え方での、ごく簡単な一例をご参考までに。
(とりあえず、質問は4回までにしてあります)
Sub Sample()
Dim Questions, AnsWord, Answers(1 To 4)
Dim cnt, QNo, Ans, Q
AnsWord = Array(" Yes", " No")
Questions = Array( _
"first", "Yes", "No", _
"Yes-Yes", "Yes-No", "No-Yes", "No-No", _
"Yes-Yes-Yes", "Yes-Yes-No", "Yes-No-Yes", "Yes-No-No", _
"No-Yes-Yes", "No-Yes-No", "No-No-Yes", "No-No-No")
QNo = 0
For cnt = 1 To 4
Q = "Q." & cnt & vbLf & Questions(QNo) & " Question"
Ans = MsgBox(Q, vbYesNo)
If Ans = vbYes Then Ans = 1 Else Ans = 2
QNo = 2 * QNo + Ans
Answers(cnt) = "Q." & cnt & AnsWord(Ans - 1)
Next cnt
MsgBox "All Answers are" & vbLf & Join(Answers, vbLf)
End Sub
※ 設問や回答のデータは別ファイルなどにしておく方が、わかりやすいかも知れませんね。
※ 全てが2分岐ではなく、共通の設問がいくつかあってから分岐するようなパターンもありそうに思いますけれど・・・
No.4
- 回答日時:
問題を出す順番などは、既に決まっているのでしょうか?
決まっていれば、それをプログラムにするかたちになると思うのですが、
そのイメージが私にはイマイチ掴めないですね。
例えばですが、
最初の質問A 答えがYesなら変数に1、Noなら変数に2を入れる。
変数が1なら質問Bへ
変数が2なら質問Cへ
2番目の質問 答えがYesなら変数×10+1、Noなら変数×10+2を入れる
変数が11なら、質問〇へ 変数を10倍して、+1又は+2をする。
変数が12なら、質問〇へ
変数が21なら、質問〇へ
変数が22なら、質問〇へ
問題数の桁数の数字 10問なら、1111111111~2222222222と、
1と2の組み合わせとか
Do
質問
Select Case 変数
Case 1
’質問B
Case 2
’質問C
Case 11
’
Case 12
Case 21
Case 22
Case 111
Case 112
Case 121
Case 122
・・・・
End Select
変数=変数*10+回答(+1 又は +2)
Loop
No.3
- 回答日時:
No.2の者です。
2択の問題というのは分かりました。
質問は、どれ位の問題数を用意されるのでしょうか?
ある質問をして、次の質問がAになった場合、質問Bは出てこないという事に
なるのでしょうか? それとも、どこかで出て来る?
クラスメイトの人物を特定するのは、PC? それとも、その場にいる人?
問題だけを出す感じ?なのでしょうか? それとも、回答していく内に
絞り込みをしていって、特定の人物をPCで答えを出す?
No.2
- 回答日時:
こんばんは。
ExcelのVBAとの事ですが、やりたい事をもっと具体的に記載されると、
回答が付くかと思います。
アキネーターというものが、どの様なものか分からないので、アドバイスも
できないですが、質問に答えるのが、選択式になるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- IT・エンジニアリング 今日の夜プログラミングについて男性2人先輩に質問して良いよと言われついでにご飯も食べに行くみたいです 1 2021/11/08 04:54
- JavaScript Javascriptで同じ数字を2回打つとアラートが出るプログラミングを作ってます。 14 2021/11/01 16:36
- Java Javaプログラミングの質問になります。 ボタンを押下した時に画面遷移して 画面から戻ってきた時のi 1 2023/06/26 07:50
- その他(プログラミング・Web制作) ifとtry 1 2021/12/12 12:32
- ホームページ作成・プログラミング 私は普通科の高校の高校生です。Basicというプログラミングの授業があって、自作のプログラムを作ると 1 2021/11/16 00:52
- その他(プログラミング・Web制作) 大学一年でVBAのプログラミングを勉強しているものです。来週の情報の授業で以下の問題のプログラムを勉 4 2023/01/19 16:15
- Visual Basic(VBA) マクロVBAについて質問です! C2に文字が入力された時に、A2B2にA1B1にかかれた物を自動入力 3 2021/11/16 18:08
- その他(プログラミング・Web制作) 占いサイトを作りたいのですが、何を勉強したら良いでしょうか? 四柱推命です。 生年月日と時間を入力し 2 2021/12/16 13:59
- JavaScript JavaScriptで「〇以上▲まで」の書き方 1 2022/07/20 14:44
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アセンブリ名とは??
-
procってなんですか?
-
プログラミングでArduinoのc++...
-
exeファイルを作ったり改造した...
-
エクセルVBAでRS232Cへ
-
VBA フォルダ アクセス権限付与
-
図形の中心の取り方を教えてく...
-
プログラミングの課題で困って...
-
プログラミングの質問です。x^2...
-
この条件でおすすめのパソコン...
-
VB5で、エクセルシート内のグラ...
-
python でリモート麻雀ソフトを...
-
職業訓練でプログラミングのス...
-
三菱製PLC Qシリーズで技術的な...
-
スクリーンセイバーの作り方
-
現在時刻をデジタル時刻で表示...
-
Visual Studio Codeについて
-
cygwinでのGUIプログラミングの...
-
push any key で終了する方法?
-
日経ソフトウェア2006/1月号の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Visual Studio Codeについて
-
アセンブリ名とは??
-
15.3インチは持ち運ぶには億劫...
-
プログラミングを学ぼうと思い...
-
VBA フォルダ アクセス権限付与
-
exeファイルを作ったり改造した...
-
procってなんですか?
-
CSVデータの"(ダブルクォーテ...
-
リピート再生が出来ません
-
VBAプログラミング
-
曲を作るのにプログラミングっ...
-
作業工程 SDとMD
-
プログラミングの課題がわから...
-
プログラミングでArduinoのc++...
-
Arduinoのシリアル入力について
-
名城大学理工学部電気電子工学...
-
PL/Iについて
-
push any key で終了する方法?
-
プログラミング
-
gettimeofday() と localtime_r...
おすすめ情報
アプリというのは、今回で言うとエクセルでのプログラミングなのですがエクセルのことですかね??
抽象的な説明で申し訳ありません!
具体的に言うと、「その人は運動部ですか?」のような質問にはいいいえで答え、「はい」ならば次の質問A、「いいえ」ならば次の質問B…といったように分岐していく構造を作りたいです。
その中でクラスメイトの特徴が絞られていって、最終的にこの人だ!とわかるものになります。
説明不足でしたら言ってください、申し訳ないです。
問題数はだいたい20個ほどになります。
質問がAになった場合Bはでてきません。
クラスメイトの特徴別に質問を用意しているので、分岐していくと1人に絞り込めるような質問にはなっています。なので、最終的に絞り込めたらメッセージボックスで〇〇さんですね?と表示するところまでプログラムしておきたいです。PCに判断を任せるのではなく、質問のはいいいえに対応して表示する名前を決めておくという感じです。
ですので途中で特徴を絞り終えて、〇〇さんですね?にたどり着くところもあります。分岐の途中で「はい」なら次の質問に進み、「いいえ」なら絞り終えてプログラム終了になるようなところがいくつかできます。すべてのクラスメイトが同じ質問数にはなりません。
言葉足らずなところがあれば言ってください!