regex - 使用一系列值和解析文本在 vlookup 的结果中进行搜索
问题描述
我的目标:
从 vlookup 的结果中解析 MM/DD 日期,以便可以在项目计划中使用
背景:
- vlookup 结果包含多个用“•”分隔的值(我不需要全部)
- 我要解析的值并不总是在 vlookup 结果中的同一位置(否则我可以使用 RIGHT 公式)
- 我要检索的值的数量是有限的(我已经知道了)
- 我要检索的值包含一些带有日期范围的文本;我只想要日期范围内的前四个值(MM/DD)
- 我想用一个公式来实现这一切,结果在一个单元格中
当前公式
我一直在研究但不起作用的公式是:
=ARRAYFORMULA(if(iserror(search(Iterations!D2:D7,(VLOOKUP(A2,'Results {2596503}'!$C$2:$L$183,3)))),,))
解决方案
编辑
(按照您在工作表上的注释:“我想完全删除 col b 并嵌套在 col c 和 d 中的公式中”)
您可以B2:B
通过将其替换为 中已有的公式来调整范围B2
。
调整后的新公式将变为
=ArrayFormula(IFNA(SPLIT(REGEXEXTRACT(VLOOKUP(ARRAYFORMULA(sort(unique(data!A2:A))),data!$A$1:$C,2),"\d+\/\d+-\d+\/\d+"),"-")))
原始答案
您可以使用以下公式:
=ArrayFormula(IFNA(SPLIT(REGEXEXTRACT(B2:B,"\d{2}\/\d{2}-\d{2}\/\d{2}"),"-")))
确保将结果格式化为Date
.
(请根据您的需要调整范围)
使用的功能:
推荐阅读
- python - 如何使用 Selenium 和 Python 从选择每个下拉选项的表中抓取信息?
- node.js - 对于 node 包,我应该在 package.json 引擎字段中的 node 或 npm 版本中使用 ">="(大于或等于)吗?
- php - 为什么我的 php 邮件功能给出错误 500
- sql - 数字的正则表达式完全匹配:Oracle SQL 开发人员
- firebase - Flutter:将单个数据从 Firestore 云获取到变量
- python - FastApi 与其他 Api 的通信
- javascript - 在 Laravel 和 Javascript 中选择和取消选择
- c - C:### 处的堆块已修改为 ### 过去请求的大小为 ###
- php - Symfony 5:登录后用户仍然匿名(有时)
- xcode - UISwitch 状态到 Firestore