• ベストアンサー

Excelの関数について教えてください。

閲覧ありがとうございます。 Excelの関数でわからないところがあるので教えてください。 画像の学科のところで、 学籍番号のアルファベット、E=情報メディア学科,P=保育学科,C=ビジネスキャリア学科,L=生活プロデュース学科.になるような関数が入るはずなのですが、難しくてできませんでした。 僕はIF関数を使って 自分なりに[=IF(OR(B$3=*E*,B$3=*P*,省略)"情報メディア学科","")]とやったのですが、エラーがでてしまいました。 自分で見ても根本的に間違ってる気がします。 どの関数をどのように使えばいいのか教えていただけませんか?

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

  • ベストアンサー
回答No.6

この手の問題では、本当に様々な数式が書けますよね。せっかく質問者さんが考えられている式の形に近そうなものも載せておきますね。 C3 =2000+left(b3,2) D3 =c3+2 E3 =if(countif(b3,"*E*"),"情報メディア",if(countif(b3,"*P*"),"保育",if(countif(b3,"*C*"),"ビジネスキャリア",if(countif(b3,"*L*"),"生活プロデュース","その他の"))))&"学科"   あるいは   =if(countif(b3,"??E???"),"情報メディア",if(countif(b3,"??P???"),"保育",if(countif(b3,"??C???"),"ビジネスキャリア",if(countif(b3,"??L???"),"生活プロデュース","その他の"))))&"学科" F3 =right(b3,3)+0   ↑「+0」の代わりに「-0」、「*1」、「/1」、「^1」と書いてもオッケー ※C、D、F列は、式を確定するとセルの書式が勝手に変わったりするので、「標準」に戻してください。 ※OR関数など多くの関数では、ワイルドカード(「*」、「?」など)が使えません。COUNTIF関数では使えるので、AND/OR条件は次のように表現できます。 AND条件 countif(b3,"*E*")*countif(b3,"*P*")     ……B3に「E」および「P」が含まれている(「1」ならTRUEと、「0」ならFALSEと同等) OR条件  countif(b3,"*E*")+countif(b3,"*P*")     ……B3に「E」または「P」が含まれている(正ならTRUEと、「0」ならFALSEと同等) ※B列が未入力の行では、各式はエラーや、「その他の学科」を表示します。未入力なら何も表示したくないという場合は、式を入力しないでおくか、各式を次のように処理します。 =if(b3="","",各式(先頭の「=」は削除))

noname#204791
質問者

お礼

回答ありがとうございます! とてもわかりやすく書いていただいて助かりました。 私の考えた関数を使っていただいたので理解しやすかったです。補足等もとてもわかりやすかったのでベストアンサーに選ばせていただきました。

その他の回答 (5)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.4です。 投稿後に気づきました。 No.3さんと全く同じ方法を投稿してしまいました。 確認せずに投稿してごめんんさい。m(_ _)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! すでに回答は出ていますので、参考程度で・・・ ↓の画像のように別Sheet(今回はSheet2)に表を作成しておきます。 (10行目まで学科があっても対応出来ます) Sheet1のE3セルに =IF(B3="","",VLOOKUP(MID(B3,3,1),Sheet2!$A$1:$B$10,2,0)) という数式を入れ、オートフィルで下へコピーすると 画像のような感じになります。m(_ _)m

noname#204791
質問者

お礼

回答ありがとうございます。 ここで得た知識は今後に役立てたいと思います。 また機会がありましたらお願いします。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

ANo.1です。 失礼! 学科名から学籍番号を求めるのではなく、学籍番号から学科名でしたね。 添付の図ではD8:E15に一覧表を作っておいて、E3セルに↓と入っています。 =VLOOKUP(MID(B3,3,1),$D$8:$E$15,2,FALSE) これでどうでしょう。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

やること: 学籍番号の3文字目1文字をを抜き取って,  Eなら情報  Pなら保育  Cならビジネス  Lなら生活 を計算できるようにする 簡単な例: =IF(MID(B3,3,1)="E","情報","") & IF(MID(B3,3,1)="P","保育","") & IF(MID(B3,3,1)="C","ビジネス","") & IF(MID(B3,3,1)="L","生活","") もうちょっと別の関数の例: =IF(B3="","",CHOOSE(FIND(MID(B3,3,1),"EPCL"),"情報","保育","ビジネス","生活"))

noname#204791
質問者

お礼

回答ありがとうございます。 ここで得た知識は今後に役立てたいと思います。 また機会がありましたらお願いします。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

これ以上学科が増えることがないなら B3セルに =RIGHT(C3,2)&MID("EPCL",FIND(LEFT(E3,1),"情保ビ生"),1)&F3 今後増えたり変更したりする可能性があるなら、シートのどこかに対応表を作成(添付の図の場合E8:F15)し、B3セルに =RIGHT(C3,2)&VLOOKUP(E3,$E$8:$F$15,2,FALSE)&F3 どちらも学科名の入力間違いなどがあった場合はエラーになりますのでその辺は対策してください。

noname#204791
質問者

お礼

回答ありがとうございます。 ここで得た知識は今後に役立てたいと思います。 また機会がありましたらお願いします。

関連するQ&A