excel - Excel - 提取分隔字符串中的第一个字母
问题描述
我有以下形式的数据:
ACCOUNT_DOCUMENT
ACCOUNT_FACILILITY_MOD
我想提取第一个字母(A)和每个下划线后的第一个字母。最终输出将是:
AD
AFM
Excel 如何实现这一点?
解决方案
你可以使用:
=CONCAT(LEFT(FILTERXML("<t><s>"&SUBSTITUTE(A1,"_","</s><s>")&"</s></t>","//s")))
"<t><s>"&SUBSTITUTE(A1,"_","</s><s>")&"</s></t>"
-SUBSTITUTE()
用于创建要处理的有效 XML 结构FILTERXML()
。"//s"
- 将所有节点作为数组返回的适当 XPATH 表达式。LEFT()
- 用于检索数组每个元素的第一个索引处的所有字符。请注意,如果省略第二个参数,则默认长度仅为 1。CONCAT()
- 用于将所有这些单个字符拼凑在一起。
请注意,我的示例是通过 Microsoft365 中的动态数组功能完成的,但如果这是在 Excel 2019 中完成的,则需要通过以下方式进行确认CtrlShiftEnter
这个公式的主干是我们FILTERXML()
用来分割字符串的方式。如果您有兴趣,可以在此处找到有关它的更多信息。
推荐阅读
- swift - Xcode 调试器不显示某些变量的值,具体取决于范围
- html - 如何创建垂直/水平嵌套 CSS 菜单?
- c# - ASP.NET Core 如何传递 List
从视图到控制器 - typescript - 在本地引用 TypeScript dom lib 类型
- python - 在python中生成具有[0,1)中随机条目的矩阵
- bash - 在 BASH 变量中合并 cURL 输出字符串
- json - 将 postgres bytea 写入 json
- reactjs - React:如何将数据从 getInitialProps 传递到 Context API?
- javascript - nuxtjs 中的外部 Javascript 文件
- nginx - 当 proxy_cache_lock_age 过期并且允许再通过一个请求来填充缓存时,前一个请求是否被取消?