如何实现Google Sheets零散数据的规律识别与结构化整理
Google Sheets 零散同色块房产数据结构化落地方案
前置处理:把颜色分组依据转成可计算的文本标记
你现在的核心分组规则是同背景色单元格属于同一宗房产,Google Sheets 原生函数读不了单元格背景色,先花1分钟加个自定义函数:
- 打开表格后点顶部菜单栏「扩展程序」-「Apps Script」
- 在弹出的脚本编辑器里粘贴以下代码,按
Ctrl+S保存,给脚本随便起个名,按提示完成谷歌账号授权就行:
function GET_CELL_COLOR(inputCell) { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(inputCell.getSheet().getName()); return sheet.getRange(inputCell.getRow(), inputCell.getColumn()).getBackground(); }
- 回到原工作表,给所有非空单元格批量匹配对应的背景色值,同色值的单元格自动归为同一房产组,这一步做完就不用再依赖颜色标识做判断了,后续改单元格颜色也不会打乱分组。
核心字段识别规则
不用管原始数据散在第几列,按固定特征抓字段就行:
- 识别address字段:所有非空单元格里,能匹配到邮编规则(比如印度邮编是6位连续数字、美国邮编是5位连续数字)的内容,就是对应房产的地址行,直接用正则匹配就行,不用逐格找。
- 识别同组明细:找到address单元格后,所有和它色值一致的非空单元格,不管在同列还是相邻列,全属于这宗房产的附属信息,其中带货币符号/「售价」「租金」关键词的归为price字段,带「sqft」「㎡」「平」面积单位关键词的归为area字段。
邮编提取操作
address里的邮编直接用原生正则函数提取就行,不用手动拆分,假设你把抓到的address内容放在结构化表的A2单元格,提取6位邮编的公式直接写:=IFERROR(REGEXEXTRACT(A2, "\b(\d{6})\b"), "")
如果是其他长度的邮编,把公式里大括号的6改成对应数字即可,提取结果单独存为pincode列。
批量处理提效技巧
- 两个原始工作表(P1、P2)可以分别跑完色值标记后,把全量非空数据+对应色值先堆到同一个临时表,再统一做分组、字段匹配,不用分表重复操作
- 字段匹配可以直接用
QUERY函数+关键词判断做批量归类,不用手动逐行粘 - 跑完第一轮结果后做个简单校验:每一组的address、price、area三个核心字段有没有缺失,补漏就行,比手动逐块整理至少省90%的时间。
内容的提问来源于stack exchange,提问作者ankit_dot
相关产品推荐
相关产品推荐

