使用excel 编写 手机号估值系统脚本
实现原来大致如下:
1.在指定的单元格内输入一个11为数的手机号
2.更加一些列条件去计算这个11为数字的估值
3.在指定的单元格内输出最终计算的估值
以下是简单的代码示例
(判断条件比较简单,如果大家需要完整的,可以自行去闲鱼或者淘宝购买)
我这里仅仅做个演示
以下是 Google表格 的 Apps Script 脚本内容
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var range = e.range;
// 检查输入范围是否是 G6
if (range.getA1Notation() === 'G6') {
var input = range.getValue();
// 检查输入是否为11位数字
if (input.toString().length !== 11 || isNaN(input)) {
SpreadsheetApp.getActiveSpreadsheet().toast('请输入一个11位数的手机号。', '错误', 3);
sheet.getRange('G6').clear();
sheet.getRange('G8').clear();
return;
}
// 获取输入的尾号
var tail = input.toString().substr(7, 4);
// 计算系数
var coefficients = {
'8': 3.0,
'6': 2.5,
'9': 2.0,
'0': 1.5,
'1': 1.0,
'7': 1.0,
'5': 0.9,
'2': 0.6,
'3': 0.5,
'4': 0.3
};
// 计算基础价值
var baseValue = 100; // 假设基础价值为100元
// 根据尾号计算价值
var value = baseValue * coefficients[tail.charAt(3)];
// 添加额外价值
// 根据连号增加价值
if (isConsecutive(tail)) {
value *= 10; // 连号增加10倍价值
}
// 根据号段分类增加价值
var sections = {
'1390': 5000,
'139': 800,
'138': 800,
'130': 100,
'131': 100,
'133': 100,
'135': 100,
'136': 100,
'137': 100,
'188': 100,
};
var section = input.toString().substr(0, 4);
if (sections[section]) {
value += sections[section];
}
// 输出价值
sheet.getRange('G8').setValue(value + '元');
}
}
// 检查尾号是否连号
function isConsecutive(tail) {
for (var i = 0; i < tail.length - 1; i++) {
if (parseInt(tail[i]) !== parseInt(tail[i + 1]) - 1) {
return false;
}
}
return true;
}
大家可以参考下,并自行去修改。
如果觉得复杂,可以去电商APP购买成品即可