- ベストアンサー
エクセルで特定の文字を抜き出す方法
KURUMITOの回答
- KURUMITO
- ベストアンサー率42% (1835/4283)
関数で対処するにはあまりにも複雑で不可能に近いでしょう。 マクロを使って対処することにします。 データはシート1に有るとしてB1セルからG1セルには1A,1B,2A,2B,3A,3Bとクラス名が入力されているとします。 A2セル以降には(1)、(2)、・・・とA7セルまで入力されているとします。数、国などのデータがB2セルからG7セルに入力されているとします。 そこで、田中の文字をH1セルに、小林の文字をI1セルに入力します。その他の先生についても必要ならO1セルまでに入力するとします。 また、先生と担当する教科名やクラス名、学年などをデータベースとして用意することが必要です。ここではP1セルに田中と入力し、担当の教科として国をP2セルに、そのほかの教科が有るのでしたらP3セルに、その下の行に学活の時のクラス名を2Aと入力します。また、その下の行には担当する学年を入力します。例えば、P4セルには2,P5セルには3と入力します。これは田中は2年と3年のクラスで国を担当するなどの意味を持つことになります。同様に小林についてもO1セルに小林、O2セルに英、O3セルには1A,O4セルには1、O5セルには2などと入力します。他の先生についても右の列に同様に入力します。 これらの入力が済んでからマクロを操作することにします。 マクロの作成は次のようにします。 シート見出しでSheet1を右クリックして「コードの表示」を選択します。 表示される画面には次のコードを入力します。 Sub 担任割り当てクラス() Dim Colm0 As Integer Dim Colm1 As Integer Dim Colm2 As Integer Dim Row0 As Integer Dim NAMAE As String Dim KURASU As String For Colm1 = 8 To 15 If Cells(1, Colm1) <> "" Then NAMAE = Cells(1, Colm1) Colm2 = WorksheetFunction.Match(NAMAE, Range("P1:X1"), 0) + 15 For Row0 = 2 To 7 For Colm0 = 2 To 7 If Cells(Row0, Colm0) = "学" Then If WorksheetFunction.CountIf(Range(Cells(2, Colm2), Cells(20, Colm2)), Cells(1, Colm0)) > 0 Then Cells(Row0, Colm1) = Cells(1, Colm0) End If End If If WorksheetFunction.CountIf(Range(Cells(2, Colm2), Cells(20, Colm2)), Cells(Row0, Colm0)) > 0 Then KURASU = Cells(1, Colm0) If WorksheetFunction.CountIf(Range(Cells(2, Colm2), Cells(20, Colm2)), Left(KURASU, 1) * 1) > 0 Then Cells(Row0, Colm1) = KURASU End If End If Next Next End If Next End Sub 画面を閉じてからシート1に戻って「開発」タブの「マクロ」をクリックして Sheet1.担任割り当てクラス を選択して「実行」をクリックします。 お望みのデータがH列やI列に表示されます。なお、例のデータでは英数文字が使われていますがすべて半角英数文字で入力するようにしてください。一度こちらが示した通りの表を作成してからマクロを実行してみてください。後は応用です。頑張ってください。 なお、「開発」タブが表示されていない場合には「ファイル」タブから「オプション」をクリックし、「リボンのユーザー設定」から「開発」にチェックをします。、
関連するQ&A
- 広島県の計算方法で僕の内申点を計算してくださいませんか?
僕の内申点計算してくれませんか? 僕は広島に住んでいる中三です。 内申点の計算がいまいち分からないので誰か計算してくれませんか? 成績は以下のとうりです。※二学期制です 一年の前期・・・国4社5数5理5音4美4保体4技家5英4 後期・・・国4社5数4理5音3美4保体4技家4英5 二年の前期・・・国5社5数5理5音3美4保体5技家3英5 後期・・・国4社5数3理5音4美3保体4技家4英5 僕が内申100以上をとるには今後どれぐらいの成績をとればいいですか?
- 締切済み
- その他(学問・教育)
- excelで複数の名前をひとつにまとめるには?
A B 1 数 62 2 国 72 3 英 83 4 理 77 5 社 66 6 国 88 7 理 54 のようなデータを A B C 1 数 理 62 2 国 文 72 3 英 文 83 4 理 理 77 5 社 文 66 6 国 文 88 7 理 理 54 のように項目の数を減らして(より枠組みを広げて)、間に挿入したいのですがどうすればよいでしょうか? 本当はA列に入る項目の数は20くらいありまして、それを10くらいにしたいと考えております。 どなたか教えてください。 よろしくお願いします。 m(__)m
- ベストアンサー
- オフィス系ソフト
- 内申と当日点の比率について。
北海道の中2です。 私の成績は 中1の高校に提出する成績 国4 数4 理5 社5 英4 音4 美3 体2 技4 中2の成績 国5 数5 理5 社5 英5 音5 美5 体2 技5 とこんな感じです。 室蘭栄高校の普通科志望なんですが・・・ この成績で大丈夫でしょうか? あと、体育が「2」ですか 問題ないですよね? 室蘭栄は公立進学校ですが まあ、定員の15パーセントは(24人)は 当日10:内申0と内申が全くみられない枠があるから この枠には入れれば体育が3年間「2」でも大丈夫ですか? それとも、いくら内申が全く見られない枠とはいえ さすがに3年間「2」はまずいでしょうか・・・?
- ベストアンサー
- 高校
- 偏差値46の商業高校
僕は偏差値46の商業高校を目指しています でもうかるかわかりません 中学の成績です 中1 中2 中3 英 3 3 3 数 3 3 3 国 3 2 2 理 3 3 3 社 3 3 3 保 3 3 3 音 3 2 2 美 3 3 3 技家 3 3 3 ↑これです 大丈夫ですかね? 本番点でどれくらいとれば良いでしょうか? とても不安です
- 締切済み
- 高校受験
- 和歌山(紀北)高校受験
来年受験の中3の息子ですが、塾には行っていないので、どこの高校に行けるのかレベルがよく分かりません。 どなたか高校受験に詳しい方、色々教えて下さい。 【成績】 ■1年学年末 国4 社4 数5 理4 音2 美4 体5 技・家3 英4 ■2年学年末 国4 社5 数4 理4 音3 美4 体5 技・家3 英4 定期テストの平均点はだいたい80~85ってところでしょうか。(1度だけ95というのもありました) 授業態度は真面目だけど、積極的に発言するタイプではない。 提出物は完璧、自主学習提出はよく褒められる。 クラブは毎日行っているが、入賞などはなし。 ボランティアや生徒活動などは興味なし。(積極性がない) 遅刻、早退なし、欠席も風邪で2,3日程度。 こんな感じです。 和歌山市~橋本市の高校で、このレベルならと言うアドバイスをよろしくお願いいたします。
- ベストアンサー
- 中学校
お礼
ありがとうございます。 マクロを使うのですね。かなり高度な感じがしますが、 頑張ってやってみたいと思います。ありがとうございました。