基本数据处理方法

EXCEl十六进制有符号数转十进制

hex2dec(number)函数本身可以识别有符号数,之前一直没发现

语法
HEX2DEC(number)
Number 待转换的十六进制数。参数 number 的位数不能多于10位(40位二进制),最高位为符号位,其余39位是数字位。负数用二进制数的补码表示。
说明
若参数 Number 不是合法的十六进制数,则 HEC2DEC 返回错误值 #NUM!。

hex2dec和hex2bin函数最多处理10位16进制(等价于40位二进制位),并且将最高位(第40位)作为符号位,其余39位作为数字位。


image.png

注意:如果要正确处理负数,必须是10位的16进制位

=IF(LEFT(A64,1)="F","FF"&A64,"00"&A64)
image.png

Sublime 正则替换

快捷键:Ctrl + h

示例数据:
[11:22:46.168]收←◆03 03 06 21 2D 1F A2 12 10 39 F8 04 03 00 04 00 03 44 5F 
[11:22:46.216]收←◆04 03 00 04 00 03 44 5F 
[11:22:46.278]收←◆04 03 06 21 86 20 8B 10 FD 26 E1 01 03 00 04 00 03 44 0A 
[11:22:46.326]收←◆01 03 00 04 00 03 44 0A 
[11:22:46.387]收←◆01 03 06 1E 9E 20 E2 11 BA AD 02 02 03 00 04 00 03 44 39 
[11:22:46.436]收←◆02 03 00 04 00 03 44 39 
[11:22:46.497]收←◆02 03 06 1E F1 1E 69 11 E2 11 C3 03 03 00 04 00 03 45 E8 
[11:22:46.546]收←◆03 03 00 04 00 03 45 E8 
[11:22:46.607]收←◆03 03 06 21 2D 1F A2 12 0F 78 30 04 03 00 04 00 03 44 5F 
[11:22:46.657]收←◆04 03 00 04 00 03 44 5F 
[11:22:46.719]收←◆04 03 06 21 87 20 8C 11 00 6A F1 01 03 00 04 00 03 44 0A 
[11:22:46.765]收←◆01 03 00 04 00 03 44 0A 
[11:22:46.828]收←◆01 03 06 1E 9D 20 E2 11 BC 69 00 02 03 00 04 00 03 44 39

去掉时间戳部分:

^\[[0-9.:]+\]收←◆

去掉空行

^\n

获取正则匹配到的内容
在正则中,()可以分组,$0代表匹配到的所有内容,$1代表第一个分组,$2代表第2个

查找 (0[1-4]{1} 03 00 04 00 03 [0-9A-F]{2} [0-9A-F]{2})
替换 \n$1

Sublime按列选中(windows环境)

按列选中:鼠标右键 + shift 或者 鼠标中键
新增选择:Ctrl
取消选择:Alt

你可能感兴趣的:(基本数据处理方法)