-PR-
解決済み

こんな関数つくれますか?

  • すぐに回答を!
  • 質問No.57961
  • 閲覧数42
  • ありがとう数1
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 52% (75/142)

EXCELはやっと初心者を脱したかな、という感じです。
EXCELで出来た表に手を加えたいのですが、こんな関数作れるのでしょうか?

シート1と2があります。2の中のあるセルに、シート1のA1~G1に入力された文字の略称を表示させたいのです。ただしA1~A10には、赤・青・黄・緑・茶といったように5つくらいの値が入力され、その中の一つを選んで表示させたいです。当然あまりの5つくらいのセルは空欄のままです。実際にはA1~N1くらいの範囲で、入力される色の種類も10以上、そのなかで6つくらいが入力される中で条件にあった一つを選び出させたいです。該当する値がないときはシート2のセルは空欄にしたいですし、できれば該当データが複数ある時はエラーを出させたいのです。

「VLOOKUP」なる関数も発見したのですが、難しくてよくわかりません。どうかお知恵を。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル10

ベストアンサー率 63% (65/102)

こんにちは 私も数時間頭を悩ませていた一人です。
補足の後もっと考えてしまいましたが。

補足文中でもところどころ項目の始まりのセルや、データが列方向なのか行方向なのかが抜けていて解読に苦労しました。

こういう表でよろしいのでしょうか?
(シート1,2とも左上のセルがA1になります。CSVで読みこんで正確な配置を確認してください。)

シート1
===========
  ,  ,英 ,英 ,数 ,数 ,国 ,国 ,理 ,理 ,社 ,社 
  ,  ,許斐,尾田,岸本,澤井,高橋,鈴木,島袋,冨樫,武井,小畑
月 ,1 ,1A英,3B英,2A数,__,3A国,__,__,1B理,__,2B社
月 ,2 ,__,2B英,1A数,3B数,2A国,__,3A理,__,__,1B社
月 ,3 ,__,1B英,__,2B数,1A国,3B国,2A理,__,3A社,__
月 ,4 ,3A英,__,__,1B数,__,2B国,1A理,3B理,2A社,
火 ,1 ,3A英,__,__,1B数,__,2B国,1A理,3B理,2A社,
火 ,2 ,__,1B英,__,2B数,1A国,3B国,2A理,__,3A社,__
火 ,3 ,__,2B英,1A数,3B数,2A国,__,3A理,__,__,1B社
火 ,4 ,1A英,3B英,2A数,__,3A国,__,__,1B理,__,2B社
水 ,1        (これ以降省略)
水 ,2 

シート2 (火曜1時間目1A教室、火曜2時間目2B教室が変更)
================
  , ,1 ,1 ,2 ,2 ,3 ,3 ,4 ,4 
月 ,1A,1A英,  ,1A数,  ,1A国,  ,1A理,
月 ,1B,1B理,  ,1B社,  ,1B英,  ,1B数,
月 ,2A,2A数,  ,2A国,  ,2A理,  ,2A社,
月 ,2B,2B社,  ,2B英,  ,2B数,  ,2B国,
月 ,3A,3A国,  ,3A理,  ,3A社,  ,3A英,
月 ,3B,3B英,  ,3B数,  ,3B国,  ,3B理,
火 ,1A,1A理,社会,1A国,  ,1A数,  ,1A英,
火 ,1B,1B数,  ,1B英,  ,1B社,  ,1B理,
火 ,2A,2A社,  ,2A理,  ,2A国,  ,2A数,
火 ,2B,2B国,  ,2B数,理科,2B英,  ,2B社,
火 ,3A,3A英,  ,3A社,  ,3A理,  ,3A国,
火 ,3B,3B理,  ,3B国,  ,3B数,  ,3B英,

あっているという前提で以下、力技回答です。
シート1の名前を"1"にします。
シート2のL,N,P,R列をそれぞれ1,2,3,4時間目の途中計算に使います。

L1,N1,P1,R1にそれぞれ、1,2,3,4を入力、時間のラベル兼演算用に使用します。

L2に次の無駄に長い?式を入力、必要なだけ下方向にコピーします。
=INDEX(OFFSET('1'!$C$2,L$1+(ROW()-1-MOD(ROW()-1,7))/7*4,0,1,10),MATCH($B2&"*",OFFSET('1'!$C$2,L$1+(ROW()-1-MOD(ROW()-1,7))/7*4,0,1,10),0))
N,P,R列の2行目以降はL列のコピーでOKです。

D2に次の長い式を入力、必要なだけ下方向にコピーします。
=IF(L2=C2,"  ",RIGHT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(L2,"英","英語"),"数","数学"),"国","国語"),"理","理科"),"社","社会"),2))
F,H,J列の2行目以降はD列のコピーでOKです。

注意
1.セル参照の雨嵐なので、例に挙げたアドレスからずれる可能性があるときは、細心の注意を払って式を修正してください。特にROW()を使用しているため、行がずれるといちころです。
2.MATCH()は、最初に見つかったセルしか返さないので、シート1で教室がダブルブッキングしていてもエラーを返しません。
3.私ことRaistlinは、この回答を運用した結果について完全な責任はもてません。自己責任でお願いします。

提案
>それらがシート2の月1覧左にも入力されています。(ここは変わることはないので手入力です)
もし、シート1で時間割をアレンジした結果をシート2に転記するという手順であれば、はじめにC,E,G,I列にL,N,P,R列をコピーすると早いのでは?

これで外してたらどうしよう・・・。
お礼コメント
FRO-SK

お礼率 52% (75/142)

すみません、お礼遅れました。メール届かなかったもので。
まだ試していないのですが、前提はあっているので試してみたいと思います。

皆さんありがとうございました。
投稿日時 - 2001-04-04 16:19:21
関連するQ&A
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル12

ベストアンサー率 35% (302/848)

申し訳ありませんが、何回読んでも質問の内容が理解できません。 もう一度、シート1には「どのくらいの範囲に、どんな値が設定されているのか」、シート2には「何がどこに入力され、それを元にどこに値を持ってきたいのか」、「シート2に入力された値と、シート1のどの値をどう比較して選択するのか」などを整理して補足してください。 具体的な例が書ければ、もっと参考になります。(多分、Vlookupで出来そうで ...続きを読む
申し訳ありませんが、何回読んでも質問の内容が理解できません。

もう一度、シート1には「どのくらいの範囲に、どんな値が設定されているのか」、シート2には「何がどこに入力され、それを元にどこに値を持ってきたいのか」、「シート2に入力された値と、シート1のどの値をどう比較して選択するのか」などを整理して補足してください。

具体的な例が書ければ、もっと参考になります。(多分、Vlookupで出来そうですが ...。)

以上。


  • 回答No.2
レベル8

ベストアンサー率 38% (19/49)

PANCHOさんと同意見です。 昨日の夜からず~っと考えていますが、やはり意味が良くわかりません。 私はEXCELの関数が比較的得意なので、答えられるようでしたら答えたいと考えております。 補足などがメールで届くように私も細く要求させていただきます。 ...続きを読む
PANCHOさんと同意見です。
昨日の夜からず~っと考えていますが、やはり意味が良くわかりません。
私はEXCELの関数が比較的得意なので、答えられるようでしたら答えたいと考えております。

補足などがメールで届くように私も細く要求させていただきます。
補足コメント
FRO-SK

お礼率 52% (75/142)

すみませんでした。自分の余計なたとえが、お二人を悩ませてしまったようです。でも、結構複雑なんです…

実は、時間割表を作りたいのです。シート1のA列3から、月曜日~金曜日までの日付があり、さらにB列には各曜日とも1~4時間目まで入力されています。各曜日とも4セル分ずつになります。また1行目には科目名が5つ(英数国理社)、2行目には担当者名が10名分入っています。1科目2名(2セル、氏名は適当にしてください)です。1時間に行われる講義は6つ(1A/1B/2A/2B/3A/3B教室において)ですので、10名中6名の覧が常に埋まります。6名の覧に入る文字は、2B社、3A国などです。各教科2名いますが、左側の人がA教室担当、右がBです。

シート2は、教室ごとの時間割です。タテに1A~3B、ヨコに1時間目~4時間目(各2セル分)、それが一日分ですから、その表が月~金の分5つあります。ちなみに各時間2セル作ってあるのは、左に既定の基本時間割、右には変更があった場合の科目名が入力されます。この変更覧セルに関数を入力したいのです。

シート1の月1時間目(C3~L3)には基本時間割の6講義が入力してあります(例えば1A国、1B社、2A社、2B英、3A理、3A英など)。それらがシート2の月1覧左にも入力されています。(ここは変わることはないので手入力です)ここで、1B社の担当者が休んだ場合、シート1の月1覧では1B社を消去し、1B数などに振り替えます。それを自動的にシート2の月曜表・1B1時間目右セルに表示させたいのです。しかも(わがまま行ってスミマセン)シート2に表示された時点で「社会」という文字にしたい(これで充分なので)のです。

その関数をオートフィルできるようなものにしないと入力が大変そうです。長い補足で恐縮ですが、是非よいお知恵をいただきたいと思っています。
投稿日時 - 2001-03-31 17:46:42
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ