アルアベットを用いたロット番号からエクセル関数を用いて”日付データ”に変換は可能でしょうか?
年
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も見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
ロット番号を自動で表したい
Excel(エクセル)
-
エクセルでロット番号を作成したい。
その他(Microsoft Office)
-
在庫日付順に先入先出しをエクセルで管理できるのでしょうか?
Access(アクセス)
-
-
4
エクセルで月をABC表記したい
その他(パソコン・スマホ・電化製品)
-
5
Excelで在庫表を作ろうと思っています
Excel(エクセル)
-
6
自分の部署・担当を言うとき、どういう言い方が正しいでしょうか?? 会社のときは、弊社といいますが、部
その他(ビジネス・キャリア)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
小数点の引き算
-
2進数の割り算が分かりません...
-
数字3桁の組み合わせの何通り...
-
エクセル:6E-05という表現は?
-
3÷7のあまりは「3」ですか?
-
数学の階乗はどんな時に使うの...
-
3分の1とは何パーセントでしょ...
-
基数変換
-
数値とアルファベットに分ける...
-
√2の値はなぜ1.414…になるんで...
-
Excelでの有効数字の合わせ方に...
-
3桁の数字は何通りですか?
-
です。 0.008020 の有効数字は...
-
NUMBER(N,M) としたときの、格...
-
小数と分数を2進数に直すやり方...
-
ある自然数が7で割り切れるか...
-
3の倍数かつ奇数である数
-
電話番号のハイフンの入れ方
-
算数です。 割り算の筆算で、商...
-
好きな数字が並ぶ不思議?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2進数の割り算が分かりません...
-
エクセル:6E-05という表現は?
-
数字3桁の組み合わせの何通り...
-
数値とアルファベットに分ける...
-
60進法と10進法
-
3÷7のあまりは「3」ですか?
-
NUMBER(N,M) としたときの、格...
-
電話番号のハイフンの入れ方
-
EXCELで10万未満切捨ての...
-
数学の階乗はどんな時に使うの...
-
エクセル関数で桁数指定し数値...
-
です。 0.008020 の有効数字は...
-
関数電卓の表示方法を変更したい
-
3分の1とは何パーセントでしょ...
-
0以下の数字は何桁?
-
10進法の数を60進法の数に...
-
エクセルのsumifの検索値
-
【場合の数】 2桁の自然数で、2...
-
0.120は有効数字何桁ですか? ...
-
10進数で123を2進数で表わすと...
おすすめ情報