
Excel2003を使って学童スポーツクラブの出席簿を作成しています。
【目的】
文字列として入力した学年を更新したい。
【状況】
クラブの学年表記が
・年少から年長=01から03
・小学1年から6年=1から6
・中学1年から3年=J1からJ3
と規定されています。
01から03を入力するため、学年を入力する列はセルの書式設定を
文字列にしています。
しかし、年度末に学年を更新しなければいけません。
そこで伺いたいことは、
1.文字列として入力してある学年をどのように更新したらよいのか?
2.03⇒1 や 6⇒J1 への更新はどのように設定したらよいのか?
マクロはまだ使用できないので、可能であれば関数などのマクロ以外
の機能を使って問題を解決したいのですが、如何でしょうか?
よい方法をご教授いただければと思っております。
何卒宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
作業列を用意します
(一時的なので、学年列の右隣にでも挿入します)
変換表を用意します(これも一時的なものです)
例
G H
01 02
02 03
.. ..
という具合に空いているセルに作ります
学年列=C
作業列=D とすると
D2 =VLOOKUP(C2,G$1:H$11,2)
以下、下にコピーします
完成した作業列をコピーして、学年列に「形式を選択して..」「値」で貼り付けます
変換が終わった後は、作業列、変換表は削除してもokです
御見それ致しました!
VLOOKUP関数でこんな事も可能なんですね!
現状に即していて尚且つシンプルな解決方法を
ご教授頂きました事にたいへん感謝致します。
ありがとうございました!
No.9
- 回答日時:
> 1.文字列として入力してある学年をどのように更新したらよいのか?
学年を示す列を[文字列]にしないで、誕生日を元に学年を計算する式を
用意して現在の日付から計算させてはいかが。
> 2.03⇒1 や 6⇒J1 への更新はどのように設定したらよいのか?
リストを作って、そこに学年ごとの表記を用意して、[ VLOOKUP 関数]
で参照してはいかが。
具体的な方法は、こちら↓を参考にしてリストの学年を示すものを作成。
http://www2.odn.ne.jp/excel/waza/function.html#S …
これなら誕生日を参照元にしていますので、年度が替わると学年を更新
してくれます。
最初からこのような数式を利用していれば
よかったのですが・・・
新規に出席簿を作成する際には、教えていただいた関数を
利用したいと思います。
ご回答いただきましてありがとうございました。
No.7
- 回答日時:
ANo.3、4、5,6です
はずかしながら 頭の整理ができていませんでした
ANo.6を取り消して下さい
さらに =B1&(C1+1) を =IF(C1="",A1+1,B1&(C1+1))に修正
整理すると
A列右に作業列を3列挿入
B1 =LEFT(A1,1) → A1セルの左の1文字を抜き出す
C1 =RIGHT(A1,LEN(A1)-1) → A1せるの文字列から左の1文字を除いて抜き出す。
D1 =IF(C1="",A1+1,B1&(C1+1)) → B1セルとC1セルに1を加えて表示する。
D列をコピー → 形式を選択して貼り付け → 値 → A、B、C列を削除
「04」を「1」、「7」を「J1」に置換及びJ4の行を削除してください
たしかに上手く変換することができました!
少し複雑ですが、この様な方法もあるんですね。
お手数をお掛けして申し訳ありませんでした。
ご協力に心から感謝いたします。
No.6
- 回答日時:
ANo.3、4、5です
C1 =RIGHT(A1,LEN(A1)-1) を =RIGHT(A1,1)
=RIGHT(A1,LEN(A1)-1) も間違いではないのですが
学年は全て2桁なので敢えてLEN(A1)-(A1の文字数から引く)を入れなくても左から1文字を抜き出せばよいことに気がつきました。
No.5
- 回答日時:
ANo.3、4です
>2.03⇒1 や 6⇒J1 への更新はどのように設定したらよいのか?
について解答してませんでした
「04」を「1」、「7」を「J1」に置換してください
No.3
- 回答日時:
A列に学年がある場合
A列左に3列挿入
B1 =LEFT(A1,1) → A1セルの左の1文字を抜き出す
C1 =RIGHT(A1,LEN(A1)-1) → A1せるの文字列から左の1文字を除いて抜き出す。
D1 =B1&(C1+1) → B1セルとC1セルに1を加えて表示する。
D列をコピー → 形式を選択して貼り付け → 値 → A、B、C列を削除
No.1
- 回答日時:
学年表記の部分を削除して、
一からやり直したほうがいいと思います
たとえばA1セルに誕生日を設定したとして
小学校1年生(2001年4月2日~2002年4月1日生)とすると
(とりあえず該当しなければ_を表示します)
=IF(A1>=DATE(2001,4,2), IF(A1<=DATE(2002,4,1),1,"_"),"_")
あとは、表の形式でいいように改造してください
本来ならいちからやり直したいところなのですが、
すでに一千名分の記録が入力済みなので・・・
教えていただいた数式は今後の参考にさせていただきます。
ご回答ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式で教えてください。 3 2023/04/17 09:25
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Excel(エクセル) エクセルのマクロを教えてください。 1 2022/03/30 09:29
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/12/23 14:57
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- その他(Microsoft Office) エクセルの休日について教えてください。 1 2023/01/06 15:45
- Word(ワード) 表の縦罫線を移動するピッチ 1 2022/10/12 12:24
- Visual Basic(VBA) 列 A に同じ日が2つが必要です。 1 2023/03/28 07:25
- Excel(エクセル) Excelについて▶あるセルに文字を入力すると、別のセルに色がつく(条件付き書式) 1 2022/03/27 16:43
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
9月17日でサービス終了らし...
-
【マクロ】【配列】3つのシー...
-
エクセルのVBAで集計をしたい
-
vba テキストボックスとリフト...
-
エクセル ドロップダウンリスト...
-
【マクロ】列を折りたたみ非表...
-
【関数】同じ関数なのに、エラ...
-
ページが変なふうに切れる
-
【マクロ】アクティブセルの時...
-
【条件付き書式】シートの中で...
-
【マクロ】オートフィルターの...
-
Office2021のエクセルで米国株...
-
【マクロ】3行に上から下に並...
-
【マクロ】EXCELで読込したCSV...
-
エクセルの循環参照、?
-
【マクロ】A列にある、日付(本...
-
Excelファイルを開くと私だけVA...
-
【エクセル】期限アラートについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報