ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2141|回复: 11

[求助] 关于多条件嵌套语法

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-8-7 16:15 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
今天把这几天学习的内容整合了一下,又发现了一些问题.请大佬赐教.详细的问题已经写在附件中. image.jpg

多条件语法结构.zip

12 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2020-8-7 20:52 | 显示全部楼层
本帖最后由 libo5563 于 2020-8-7 21:09 编辑

写了后面这个,前面那个就比较简单了,第一问估计南京和南京一部处理起来会麻烦点
12345678.jpg

多条件语法结构.rar

33.58 KB, 下载次数: 2

TA的精华主题

TA的得分主题

发表于 2020-8-8 08:22 | 显示全部楼层
关于“南京”和“南京一部”的匹配,我也凑个热闹吧。
image.png
let
    Source = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"部门", type text}}),
    Custom1 = Table.AddColumn(#"Changed Type", "匹配",
  each let
            #"Temp Table" = Table.SelectRows(表2, (y) => Text.Contains(_[部门], y[部门辅助])),
            Result = #"Temp Table"[部门辅助]{Table.RowCount(#"Temp Table")-1}
        in
            Result)
in
    Custom1

多条件语法结构.zip

19.58 KB, 下载次数: 3

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-8-10 14:05 | 显示全部楼层
libo5563 发表于 2020-8-7 20:52
写了后面这个,前面那个就比较简单了,第一问估计南京和南京一部处理起来会麻烦点

感谢大佬 先回帖 下载下来慢慢研究

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-8-10 14:05 | 显示全部楼层
ThxAlot 发表于 2020-8-8 08:22
关于“南京”和“南京一部”的匹配,我也凑个热闹吧。

let

感谢大佬 请问#"xxx"= 是什么意思?

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-8-10 14:20 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
libo5563 发表于 2020-8-7 20:52
写了后面这个,前面那个就比较简单了,第一问估计南京和南京一部处理起来会麻烦点

主要想学习的嵌套语法已经很清楚了,我之前也尝试过这样的写法,但是报错,可能是哪里还没理解到位吧.谢谢大佬,剩下的我自己研究

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-8-10 14:29 | 显示全部楼层
ThxAlot 发表于 2020-8-8 08:22
关于“南京”和“南京一部”的匹配,我也凑个热闹吧。

let

大佬 这个用法好像没解决不存在部门辅助中的内容的返回问题,我是想返回错误,然后对错误统一处理,文件里也写了想问如何把Table.ReplaceErrorValues整合到一步中.

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-8-10 15:06 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 riecko 于 2020-8-10 15:57 编辑
libo5563 发表于 2020-8-7 20:52
写了后面这个,前面那个就比较简单了,第一问估计南京和南京一部处理起来会麻烦点

大佬,想问下为什么Accumulate不可以一并处理{"0".."9"} 而要用Text.Remove单独处理数字? 另外图中划标黄的地方能帮我解释下吗?谢谢大佬
批注 2020-08-10 155553.png

TA的精华主题

TA的得分主题

发表于 2020-8-10 15:17 | 显示全部楼层
riecko 发表于 2020-8-10 14:05
感谢大佬 请问#"xxx"= 是什么意思?

操作步骤中含有空格等特殊字符时,必须写成"xx xxx",为了与一般意义上的字符串做区分,在前面加上#符号,这样在其他步骤中引用该步骤时,PQ就能识别出#"xx xxx"是另一个操作步骤而非普通的字符串。

TA的精华主题

TA的得分主题

发表于 2020-8-10 15:25 | 显示全部楼层
riecko 发表于 2020-8-10 14:29
大佬 这个用法好像没解决不存在部门辅助中的内容的返回问题,我是想返回错误,然后对错误统一处理,文件里也 ...

把前一个步骤的内容全部复制到Table.ReplaceErrorValues就行了,简单粗暴!

= Table.ReplaceErrorValues(Table.AddColumn(#"Changed Type", "匹配",
  each let
            #"Temp Table" = Table.SelectRows(表2, (y) => Text.Contains(_[部门], y[部门辅助])),
            Result = #"Temp Table"[部门辅助]{Table.RowCount(#"Temp Table")-1}
        in
            Result),
   {{"匹配", "其他"}})

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-15 15:39 , Processed in 0.053319 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表