
アルアベットを用いたロット番号からエクセル関数を用いて”日付データ”に変換は可能でしょうか?
年
R・・・2015
S・・・2016
T・・・2017
月
A・・・1月
B・・・2月
C・・・3月
D・・・4月
・・・
日(10の桁)
A・・・10日
B・・・20日
C・・・30日
X・・・0日
日(1の桁)
A・・・1日
B・・・2日
C・・・3日
D・・・4日
E・・・5日
例えば、ロット番号TGBGは、2017/7/27となります。
一発で日付データに出来る関数はありますでしょうか?
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
L1:P26 ⇒ table
B1: =MID($A1,COLUMN(A1),1)
F1: =VLOOKUP(B1,table,COLUMN(B1),FALSE)
J1: =(F1&"/"&G1&"/"&(H1+I1))*1

No.1
- 回答日時:
関数でも出来ない事はありませんがとても長くなりそうなのでマクロ(VBA)でユーザー関数を作成しました。
以下を標準モジュールへ書き込んで下さい。'--------------------------------------------------------------------------------
Function LNo2Date(ロット番号 As String) As Date
Dim 年月日 As String
Dim 桁 As Integer
Dim 文字(4) As Integer
If Len(ロット番号) = 4 Then
For 桁 = 1 To 4
文字(桁) = Asc(Mid(ロット番号, 桁, 1))
Next
Select Case 文字(1)
Case Is < 65 '< A
LNo2Date = CVErr(xlErrValue)
Case Is > 90 '> Z
LNo2Date = CVErr(xlErrValue)
Case Else
年月日 = CStr(文字(1) + 1933) & "/"
End Select
Select Case 文字(2)
Case Is < 65 '< A
LNo2Date = CVErr(xlErrValue)
Case Is > 76 '> L
LNo2Date = CVErr(xlErrValue)
Case Else
年月日 = 年月日 & Format(文字(2) - 64, "00") & "/"
End Select
Select Case 文字(3)
Case 88 'X
年月日 = 年月日 & "0"
Case Is < 65 '< A
LNo2Date = CVErr(xlErrValue)
Case Is > 67 '> C
LNo2Date = CVErr(xlErrValue)
Case Else
年月日 = 年月日 & CStr(文字(3) - 64)
End Select
Select Case 文字(4)
Case 88 'X
年月日 = 年月日 & "0"
Case Is < 65 '< A
LNo2Date = CVErr(xlErrValue)
Case Is > 73 '> I
LNo2Date = CVErr(xlErrValue)
Case Else
年月日 = 年月日 & CStr(文字(4) - 64)
End Select
Else
LNo2Date = CVErr(xlErrValue)
End If
If LNo2Date = 0 Then LNo2Date = CDate(年月日)
End Function
'--------------------------------------------------------------------------------
※ 使い方ですが通常の関数と同じで、例えば A1セルに「TGBG」とあったならば「=LNo2Date(A1)」とします。もちろん関数を入れるセルの書式は日付型の物にしてください。シリアル値なので書式が標準だと「42943」と表示されます。
※「年」は A~Z (1998~2023) が使えるように拡張しています。
※「日(1の桁)」にも X が使えるようにしています。
※ 対象外の文字が有る等規定外の物は「#VALUE!」になります
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで一つのセル内の特定の数字のみ足す方法 6 2022/12/06 15:11
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Visual Basic(VBA) VBA 連続する名前ごとに集計 3 2022/05/21 18:24
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- 数学 登録番号と年月日と時間から作成した数字列を出来る限り小さくする方法 7 2022/06/03 16:10
- Excel(エクセル) 当番表の作成 2 2022/06/15 07:40
- 事件・犯罪 サイバー犯罪に巻き込まれたらしい 1 2022/08/12 00:31
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/10 08:51
- Excel(エクセル) 同じ品番のマスタで最新日付のものに〇印を入れたい 3 2023/03/31 17:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル:6E-05という表現は?
-
7で始まる電話番号?
-
大雪で小屋根の軒桁が外れた
-
Wordで行数を表示させるには?
-
数学の階乗はどんな時に使うの...
-
数字3桁の組み合わせの何通り...
-
算数です。 割り算の筆算で、商...
-
エクセルの計算でエラーが出る...
-
数値とアルファベットに分ける...
-
2.04÷(6.0×10の23乗)を、有効...
-
1から1000までの1は何回でるの?
-
3÷7のあまりは「3」ですか?
-
ノートン2007から2008...
-
Ezcel 2003で、A1,A2,・・・A10...
-
簡単な事だと思うのですが・・...
-
2進数の割り算が分かりません...
-
ある整数aを8で割ったときの商...
-
エクセルで小数点以下を切り捨...
-
5800兆円という表現は 妥...
-
求める答えが小数点第1までで 0...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル:6E-05という表現は?
-
7で始まる電話番号?
-
数値とアルファベットに分ける...
-
数字3桁の組み合わせの何通り...
-
2進数の割り算が分かりません...
-
3÷7のあまりは「3」ですか?
-
数学の階乗はどんな時に使うの...
-
NUMBER(N,M) としたときの、格...
-
EXCELで10万未満切捨ての...
-
大雪で小屋根の軒桁が外れた
-
3分の1とは何パーセントでしょ...
-
電話番号のハイフンの入れ方
-
エクセル関数で桁数指定し数値...
-
関数電卓の表示方法を変更したい
-
Excelで数値の丸め
-
エクセルのsumifの検索値
-
好きな数字が並ぶ不思議?
-
【場合の数】 2桁の自然数で、2...
-
0以下の数字は何桁?
-
60進法と10進法
おすすめ情報