エクセルでの関数の活用方法について

このQ&Aのポイント
  • エクセルを使って「ひらがな3文字の言葉あてゲーム」の作成方法について解説します。
  • RIGHT,LEFT,MID,IF,ORの5つの関数を使って「1文字目」「2文字目」「3文字目」の判定を表示させる方法を説明します。
  • 具体的な例として、「りんご」が正解とした場合の判定結果を示しています。
回答を見る
  • ベストアンサー

エクセルでの関数の活用方法について

エクセルを使って,「ひらがな3文字の言葉あてゲーム」を作るとします。(例えば、”ヒントは果物”など予めヒントが与えられているとして、あるセルに「りんご」と入力すると、「1文字目」「2文字目」「3文字目」が別の3つのセルに分離して表示され、さらに、また別の3つのセルが、その言葉の1,2,3文字目それぞれの正誤の判定を表す。というものです。各文字の判定の方法は、文字も位置も正しければ、「正解」、文字は含まれているが位置が間違っていれば「おしい」、どちらでもなければ「残念」になるようにします) 「りんご」が正解としたとき、  解答欄              1文字目  2文字目   3文字目  みかん   み  か  ん  (1)残念   (2)残念    (3)おしい  りんご   り  ん  ご   (1)正解   (2)正解    (3)正解 となるようにしたいです。 RIGHT,LEFT,MID,IF,ORの5つの関数を使ってこのような判定を表す仕組みを作るには、(1)、(2)、(3)それぞれのセルにどんな式を入力すればいいでしょうか? 解答欄に「みかん」と入力したときに、 み か ん  と分離して表示させるのにRIGHT,LEFT,MID関数を使う、というところまでは分かったのですが、そのあとが分りません。 よろしくお願いします!  

質問者が選んだベストアンサー

  • ベストアンサー
  • suekun
  • ベストアンサー率25% (369/1454)
回答No.4

なんか自分で読み返して、やさしくないな・・・って思うので もっとわかりやすく。    A    B    C    D   E   F   G 1 みかん   み   か   ん   (1) (2) (3) 2 りんご   り   ん   ご E1=IF(LEFT(A2,1)=B2,"正解",IF(OR(LEFT(A2,1)=C2,LEFT(A2,1)=D2),"おしい","残念") 

squall88
質問者

お礼

回答ありがとうございます!返事が遅れて申しわけないです。 丁寧に説明してくださってありがとうございました!いただいた回答を参考にして考えてみて、なんとか分かりました! IF関数とOR関数の組み合わせ方が重要だったみたいです。 ありがとうございました!

その他の回答 (8)

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.9

なんか自分の方が勘違いしてるのかと思うくらいになってきた。 >RIGHT,LEFT,MID,IF,ORの5つの関数を使ってこのような判定を表す仕組みを作るには・・・ って言う事は、「RIGHT,LEFT,MID,IF,OR」で作ってほしいって 事かな?と思いましたけど、演習問題かなにかなのかな? でも、圧倒的に他の関数を使われている方が多いし、質問者さんは 返事ないし・・・さてさて・・・ もう少しその辺のルールを詳しく教えてもらいたいですね。

squall88
質問者

お礼

回答ありがとうございます! suekunさん、何度も回答いただいて本当にありがとうございます!返事が遅れて本当に申しわけないです。 5つの関数だけを使ってそういう仕組みをつくる、ということでした。 いただいた回答を参考にして考えてみて、なんとか分かりました! IF関数とOR関数の組み合わせ方が重要だったみたいです。 ありがとうございました!

noname#204879
noname#204879
回答No.8

   A   B  C  D   E     F     G 1 正解 2 りんご り ん ご 3 4 解答欄       1文字目 2文字目 3文字目 5 みかん み か ん 残念   残念   おしい 6 りんご り ん ご 正解   正解   正解 B2: =MID($A2,COLUMN(A2),1) E5: =IF(B5=B$2,"正解",IF(COUNTIF($B$2:$D$2,B5),"おしい","残念"))

squall88
質問者

お礼

回答ありがとうございます!返事が遅れて申しわけないです。 COLUMNなどは使わないようです。すみません! いただいた回答を参考にして考えてみて、なんとか分かりました! IF関数とOR関数の組み合わせ方が重要だったみたいです。 ありがとうございました!

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.7

一例ですが... A2=解答欄 Z2=解答 としてB列以降に文字数単位に残念、おしい、正解を表示なら B2=IF(LEN($A2)>COLUMN()-2,IF(MID($A2,COLUMN()-1,1)=MID($Z2,COLUMN()-1,1),"正解",IF(ISERROR(FIND(MID($A2,COLUMN()-1,1),$Z2)),"残念","おしい")),"")

squall88
質問者

お礼

回答ありがとうございます!返事が遅れて申しわけないです。 LEN関数は使えないみたいです。すみません! いただいた回答を参考にして考えてみて、なんとか分かりました! IF関数とOR関数の組み合わせ方が重要だったみたいです。 ありがとうございました!

  • outerlimit
  • ベストアンサー率26% (993/3718)
回答No.6

問題欄と言うか正解欄を三つのセル(B1~D1)に分け    A1   B1 み  C1 か D1 ん       A2みかん B2 =if(mid(A2,1,1)=B1,"正解","残念") C2 =if(mid(A2,2,1)=C1,"正解","残念")   D2 =if(mid(A2,3,1)=D1,"正解","残念") の様のされたら

squall88
質問者

お礼

回答ありがとうございます!返事が遅れて申しわけないです。 "おしい”という要素も使うので、もうちょっと複雑な考え方みたいです。 いただいた回答を参考にして考えてみて、なんとか分かりました! IF関数とOR関数の組み合わせ方が重要だったみたいです。 ありがとうございました!

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.5

あわてて書いて参照を間違えてます。 B2、C2、D2は B1,C1、D1と置き換えてください。

squall88
質問者

お礼

回答ありがとうございます!返事が遅れて申しわけないです。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

OR関数の代わりにCOUNTIF関数を使用しています。 解答列をA列、B列~D列を文字セパレート、E2に次の関数を設定して右方向にコピーして下さい。 因みに正解の文字列はE1に設定しています。 =IF(MID($E$1,COLUMN(A1),1)=B2,"("&COLUMN(A1)&")正解",IF(COUNTIF($E$1,"*"&B2&"*"),"("&COLUMN(A1)&")おしい","("&COLUMN(A1)&")残念"))

squall88
質問者

お礼

回答ありがとうございます!返事が遅れて申しわけないです。 せっかくいただいた回答なんですが、countif関数は使えなかったです。 IF関数とOR関数の組み合わせ方が重要だったみたいです。 ありがとうございました!

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.2

あっ、読み違えてました。 提示された関数しか使っちゃダメなんですね。 IFで入力された文字をネストし比較して行けばいいと思いますよ。

squall88
質問者

お礼

回答ありがとうございます!返事が遅れて申しわけないです。 そうですね。IF関数とOR関数の組み合わせ方が重要だったみたいです。 ありがとうございました!

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.1

SEARCH を調べてみてください。 そしてその返った答えの数値で位置も見えるはずです。 残念は、無かった時に返るエラー処理として利用しましょう。

squall88
質問者

お礼

回答ありがとうございます!返事が遅れて申しわけないです。 いただいた回答を参考にして考えてみて、なんとか分かりました! IF関数とOR関数の組み合わせ方が重要だったみたいです。 ありがとうございました!

関連するQ&A

  • エクセルの関数について

    エクセルの関数について困っております。 関数については、詳しくありません。お力をおかし下さい。 添付にある図の、sheet1 のリンゴ ミカン ブドウ を sheet2 の別のセルに、リンゴ.ミカン.ブドウと入力した際、その下に記入してある11111111111111 の数字を、同じように反映する為には、sheet2 のリンゴ等の文字の下には、どの様な関数を入れればよいですか? 関数でそこまで出来るのでしょうか? よろしくお願いします。  

  • エクセル関数何を使ったら良いのかわかりません

    エクセル関数についてお尋ねします。 例として項目を果物にしております↓ 表1でリンゴ・みかん・ぶどう・・・などの1年と2年の平均値を出したのですが、同じシート内の表2にその平均値をとばすようにしたいですがどうしたら良いのかわかりません。 表2のセル(B28)にリンゴと入力したら表1のリンゴの平均値がB29にとんでくるようにしたいです。B28はみかんのときもありぶどうのときもありますので、入力した文字にあった平均値をとばしたいのですが可能でしょうか? いろいろ関数などを調べてみましたが何を使用したら良いのかわからずずっと悩んでおります。

  • エクセル関数で教えて下さい

    本店で「りんご」を100円「みかん」を200円「いちご」を300円「バナナ」を400円で売っています。 支店は「りんご」を500円「みかん」を600円で売っていて「いちご」「バナナ」は売っていません。A1セルに本店か支店を入力、B1セルに商品を入力するとC1セルに値段が出るようにしたいのですが C1セルにどのような関数を使えばいいのでしょうか?

  • エクセル関数でご教示下さい

    エクセルの1セル(A列の各行)に入力されている文章を、B列C列・・・・と振り分ける為、 =LEFTや=MID関数を使って振り分けていますが、「出張」又は「来所」といった2つのどちらかの文字の次から10文字を取り出すような関数があればご教示ください。

  • エクセルの関数(論理式)

    A1にりんご、B1にapple A2にみかん、B2にorange A3にバナナ、B3にbanana と入力されています。 D1にりんごジュース D2にりんごゼリー D3にりんご と入力されています。 D行に”りんご”を含むセルがある場合は、その真横のE行のセルに すべてappleと表示させるには、E行にどのような関数を入力すればよいですか? 数式内に文字列("*りんご*")は使わずに、セル参照だけで関数を作りたいと思っています。 どなたか教えてください。 宜しくお願い致します。

  • エクセルの関数について

    エクセルについて質問です。 「ある数値を入力したら常に一定の文字列を表示する」にはどの関数がいちばん便利でしょうか? 例:セルA1に101を入力→B1に「りんご」を表示 セルA2に201を入力→B2に「みかん」を表示 のように全部で50程度の数値&文字列の組み合わせ(コード表)を 判別したいと思っています。 よろしくお願いします。

  • エクセル関数について

    図のリスト1の中のリンゴという文字が リスト2の3つの文字の中から 同じ文字であるリンゴ(E4)を選び出し、 そのリンゴの横の数字(F4)を リスト1のリンゴの横(2C)に関数で表示させるには C2にどのような値を記入すればよろしいでしょうか? またC2に記入する値にはリンゴの文字を使う代わりにB2などマスを指定する形に できればと思っております。 リンゴの文字列をつかうとB2のリンゴの文字がみかんに変わったときにC2に記入する関数もそれに合わせてみかんと入力しなおさないといけない恐れがあるためです。 宜しくお願いいたします。

  • excelエクセル関数で困ってます。

    excelエクセル関数で困ってます。 あるセルにある文字の内、一部だけ取り出したいです。先頭から何文字とか先頭からこの記号:があるところまで取り出すとか後ろから何文字とかです。 mid関数やleft関数やright関数を使うとネットであったんで使ったんですが、できません。エラーになります。 実は取り出す元の文字というのは11:15というような数字なんです。しかもこの数字自体はsum関数で計算した結果です。この11:15から11と15という数字を取り出したいです。11:15というのは11時間15分という意味です。 因みに残業時間の加算で11:15になりました、、、 現時点ではネットで書いてある通りやってるのにエラーなんで理由がわかりません。わかる方教えてください。

  • Excel 条件に合うセルを数える関数

    A1 りんご A2 みかん A3 ぶどう A4 みかん A5 もも A6 りんご A7 かき  ↑ こんなかんじでセルに文字がはいっています。 りんごという文字が入っているセルは何個あるか? という感じで知りたいのですが、種類がたくさんありすぎてCOUNTIF関数では、大変です。 それ以外に方法は、ありますでしょうか? おわかりの方教えてくださーい!

  • VLookUp関数?

    エクセルでの質問です。 1 りんご 2 みかん 3 メロン というような表があったとします。どこかのセルに「りんご」と 入力すると隣のセルに「1」というように表示させる方法は何か ありますでしょうか…? VLookUp関数なのかな?と思いつつ見てみたのですが、 使い方がわからず、この関数で合っているかどうかもわかりませんでしたので…。 宜しくお願いします!

専門家に質問してみよう