スプレッドシートで、11桁以上の16進数を10進数に変換したいと考えています。
10桁以下でしたら、「HEX2DEC」が使用できると認識していますが、変換したい文字数の桁数が16桁のため、この関数は使えません。
従って、GASで関数を作成する必要がありますが、どのように表記すべきか分からず質問させていただきました。
詳しい方がいらっしゃいましたら、ご教示いただけますと幸いです。
よろしくお願いします。
<参考>
以前はExcelのVBAで下記のような関数を作成していました。
Function hexdec(hexdata) As String
l = Len(hexdata)
For i = 0 To l - 1
hexstr = Mid(hexdata, l - i, 1)
Select Case hexstr
Case "A", "a"
dhex = 10
Case "B", "b"
dhex = 11
Case "C", "c"
dhex = 12
Case "D", "d"
dhex = 13
Case "E", "e"
dhex = 14
Case "F", "f"
dhex = 15
Case "0" To "9"
dhex = Val(hexstr)
Case Else
MsgBox "error"
End Select
cd = CDec(dhex) * CDec(4 ^ i) * CDec(4 ^ i)
hdec = hdec + cd
Next
hexdec = CStr(hdec)
End Function
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/22 02:34