こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel2016 関数

自分でも説明が難しく、わかりづらいと思いますがご了承くださいm(_ _)m

Excelで写真のような塾のカレンダーを作っていて、興味本位でやってみたいなと思ったのですが、「B41が表示になっているときにC42の先生の指導料を上の表(8つのセルからなる表)から見つけ、その値段などの文字列を結合しこのセルに”今月の~先生の指導料は…円です。”と表示する」みたいなことをしたかったのですが、自分には複雑でわかりませんでした。
※先生の名前は絶対に見つかるものとします。
ただ、自分のこだわりで、諦めたくはなかったので、できるだけ頑張ってみて、最終的に質問させていただきました。
文章がわかりづらいと思いますので、質問などあれば、質問していただいて構いません。よろしくお願い致します。

投稿日時 - 2017-05-04 14:11:20

QNo.9325148

困ってます

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

=IF(B41="表示","今月の"&C41&"の指導料は、"&TEXT(VLOOKUP(C41,$D$37:$E$38,2,FALSE),"#,#")&"円です。","")

D41のセルに、上の関数を指定すればいいのではないでしょうか。
A先生のほかに、B先生がいても、D42のセルにコピーすれば、同じように表示できます。もっと先生がいれば、同じようにコピーしてください。
なお、TEXT関数は、指導料の数値表示の千の位にカンマを入れて見やすくするためです。
実際の表示結果を添付します。

投稿日時 - 2017-05-04 15:55:27

補足

ちなみにですが、添付していただいた画像の C41 の部分を変えると、料金は変わってくれるのでしょうか?
(自分で試す前に聞いてしまって申し訳ないです)

投稿日時 - 2017-05-05 16:29:19

お礼

すみません。
試してみたら、先生の名前を変えれば出来ました。
ありがとうございました。

投稿日時 - 2017-05-05 18:55:23

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(7)

ANo.7

有名なVLOOKUP関数を使う問題ではないか。
そういう有名な関数も知らないようでは,質問の表現も不十分になる。
5月31日は何の意味があるのか。
WEBで(Googleなどで)「Excel VLOOUP関数」照会し、例が載っているサイトを見つけて、自分の例との違いを考えて、自分でやって、みること。
先生ごとの先生の名前と隣列同行に1カ月の授業料の対照表を作りその表を先生の名前で引けば、しまいではないのか。

投稿日時 - 2017-05-04 19:58:37

お礼

回答していただきありがとうございます。
>そういう有名な関数も知らないようでは,質問の表現も不十分になる。
VLOOKUP関数は知っております。
それも含めて自分で試行錯誤しましたが、自分だけでは不可能だったので、質問させていただきました。
また、WEBサイトも使用はしております
>5月31日は何の意味があるのか。
それはたまたま今月のものを作っていた為です。

投稿日時 - 2017-05-05 16:37:00

ANo.6

済みません、間違えました
訂正させて、ください

=IFERROR(
" 今月の"&SUBSTITUTE($C41,"先生","")&"先生の指導料は"&OFFSET($D$36,($B$41="表示")*MATCH(TRUE(),INDEX(NOT(ISERROR(find(SUBSTITUTE($C41,"先生",""),$D$37:$D$39))),,),0),1,1,1)&"円です。","-")

=IFERROR(
" 今月の"&SUBSTITUTE($C41,"先生","")&"先生の指導料は"&OFFSET($D$36,($B$41="表示")*MATCH(TURE(),INDEX("*"&SUBSTITUTE($C41,"先生","")&"*"*=$D$37:$D$39,0)),1,1,1)&"円です。","-")

=IFERROR(
" 今月の"&SUBSTITUTE($C41,"先生","")&"先生の指導料は"&LOOKUP(($B$41="表示")*MATCH(TURE(),INDEX("*"&SUBSTITUTE($C41,"先生","")&"*"*=$D$37:$D$39,0),$E$37:$E$39)&"円です。","-")

=IFERROR(
" 今月の"&SUBSTITUTE($C41,"先生","")&"先生の指導料は"&OFFSET($D$36,(MATCH(1.INDEX(($B$41="表示")*(LEN($D$37:$D$39)<>LEN(SUBSTITUTE($C41,"先生",""),$D$37:$D$39,""))),,)),1,1,1)&"円です。","-")

投稿日時 - 2017-05-04 18:32:50

お礼

わざわざ訂正版をありがとうございました。

投稿日時 - 2017-05-05 16:42:44

ANo.5

複数項
ある、場合は
別途
お教え、ください

後、
済みません
未検証です

しかし、
どれでも、いける
と、思います

=IFERROR(
" 今月の"&SUBSTITUTE($C41,"先生","")&"先生の指導料は"&OFFSET($D$36,MATCH(TRUE(),INDEX(NOT(ISERROR(find(SUBSTITUTE($C41,"先生",""),$D$37:$D$39))),,),0),1,1,1)&"円です。","-")

=IFERROR(
" 今月の"&SUBSTITUTE($C41,"先生","")&"先生の指導料は"&OFFSET($D$36,MATCH(TURE(),INDEX("*"&SUBSTITUTE($C41,"先生","")&"*"*=$D$37:$D$39,0)),1,1,1)&"円です。","-")

=IFERROR(
" 今月の"&SUBSTITUTE($C41,"先生","")&"先生の指導料は"&LOOKUP(MATCH(TURE(),INDEX("*"&SUBSTITUTE($C41,"先生","")&"*"*=$D$37:$D$39,0),$E$37:$E$39)&"円です。","-")

投稿日時 - 2017-05-04 18:15:04

ANo.4

>「B41が表示になっているときにC42の先生の指導料を上の表(8つのセルからなる表)から見つけ、その値段などの文字列を結合しこのセルに”今月の~先生の指導料は…円です。”と表示する」
貼付画像のB41に「表示」と入力されているようですが、C42には何も表示されていません。「C42」は「C41」の誤りではないですか?
「上の表」とは「D36:E39」の範囲のことですか?

>文章がわかりづらいと思いますので、質問などあれば、質問していただいて構いません。
質問に質問しなければ回答できないような文章では効率が悪く、回答意欲を削がれます。
語学を学習し直してから再質問された方が良いでしょう。

勝手解釈で回答しますと次の数式で良いと思います。
=IF(B41="表示","今月の"&D37&"の指導料は"&TEXT(VLOOKUP(C41,D36:E39,2,FALSE),"#,##0円です")&"。","")

投稿日時 - 2017-05-04 18:01:27

補足

>「C42」は「C41」の誤りではないですか?
はい、すみません。単純に打ち間違えました。
>質問に質問しなければ回答できないような文章では効率が悪く、回答意欲を削がれます。
本当に申し訳ありません。学校でもっと勉強します。

投稿日時 - 2017-05-05 16:32:46

ANo.2

=IF(B41="表示","今月の"&C41&"の"&"指導料は"&VLOOKUP(C41,D37:E38,2,FALSE)&"円です。","")

投稿日時 - 2017-05-04 15:31:00

ANo.1

》 上の表(8つのセルからなる表)から見つけ
その「8つのセル」の範囲を明記されたい!
そのくらい、「説明が難しく」ないでしょ?

投稿日時 - 2017-05-04 15:17:47

あなたにオススメの質問