ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[讨论] 用TEXT 字符如何寫公式

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-11-3 10:54 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 象山海鲜 于 2023-11-3 13:37 编辑

如附件 ~~~

54-問減少公式長度.rar

7.7 KB, 下载次数: 24

TA的精华主题

TA的得分主题

发表于 2023-11-3 11:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 jivy1212 于 2023-11-3 11:40 编辑

好像有点乱?第1个压缩包是不是要这样?
  1. =TEXT(N(F2="A"),"[=1]OK;A")
复制代码

第3个压缩包
  1. =TEXT(B2,"["&A2&C2&"]1;2")
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-11-3 12:09 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
jivy1212 发表于 2023-11-3 11:36
好像有点乱?第1个压缩包是不是要这样?
第3个压缩包

其实第三个还是一样,如果数字1出现负数,也会把负号带出来。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-11-3 13:11 | 显示全部楼层
jivy1212 发表于 2023-11-3 11:36
好像有点乱?第1个压缩包是不是要这样?
第3个压缩包

SORRY 提問為何如此  抱歉
A產生是很長公式 希望用一次 若數字 "0"是可行
TEXT(N(F2="A"),"[=1]OK;A")大神 字符 "A"用二次 字符不知如何處理

TA的精华主题

TA的得分主题

发表于 2023-11-3 13:35 | 显示全部楼层
text 不能直接这样使用
text的第二参数有四个分参数即:正数;负数;零;文本
数值型(文本型的数值、时间、日期、分数、科学计数法等)可设置条件判断,
但文本(内部不能转为数值的都属于文本,包括逻辑值)只能判断是否文本为,不能判断是什么文本,
所以不能直接判断文本内容并返回对应值。


就例子来说
既然 【判断 是否为"A",是就返回 "A";否则 返回"OK"】,
那么【可知 "A"和 OK"都是已知的常量,不存在二次运算,只是多写一次常量"A"而已】。
所以jivy1212 老师的公式 =TEXT(N(F2="A"),"[=1]OK;A"),也是适用的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-11-3 13:35 | 显示全部楼层
本帖最后由 hcm19522 于 2023-11-3 13:38 编辑
yibao2 发表于 2023-11-3 12:09
其实第三个还是一样,如果数字1出现负数,也会把负号带出来。

"A"是很長公式產生 是字符 不考慮數字 希望只使用一次公式 若用 IF(B2="A","OK","A") 則使用二次 "A"

点评

附件不方便上传的话做个模拟,或许有不同解  发表于 2023-11-3 13:55

TA的精华主题

TA的得分主题

发表于 2023-11-3 14:00 | 显示全部楼层
本帖最后由 象山海鲜 于 2023-11-3 14:04 编辑

可能也许.......
试试
  1. =LOOKUP("咗",VLOOKUP(T(IF(,,{"*","OK"})),SUBSTITUTE(F2,{"";"A"},"OK"),1,))
复制代码

TA的精华主题

TA的得分主题

发表于 2023-11-3 14:08 | 显示全部楼层
hcm19522 发表于 2023-11-3 13:35
"A"是很長公式產生 是字符 不考慮數字 希望只使用一次公式 若用 IF(B2="A","OK","A") 則使用二次 "A"

我差不多理解了
你的原公式 :IF(B2="A","OK","A")
改为: IF(B2="A","OK",B2)
这样的话B2就调用2次了,你希望调用一次。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-11-3 15:25 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 hcm19522 于 2023-11-3 15:42 编辑
象山海鲜 发表于 2023-11-3 14:08
我差不多理解了
你的原公式 :IF(B2="A","OK","A")
改为: IF(B2="A","OK",B2)

相似    =IF(B2=很長公式產生字符,"OK",很長公式產生字符)
很長公式產生字符 用二次 希望用一次
若很長公式產生數字 可用=TEXT(公式,"[<>"&B2&"]0;OK") B2是數字 沒問題 但字符 0 改"#"有誤  是否有其他方式

原本題意 身分證計算檢查號 需很長公式 若對-->OK  否則為正確身分證號

身分證字號 是字符 最後一字是是檢查號

TA的精华主题

TA的得分主题

发表于 2023-11-3 16:47 | 显示全部楼层
hcm19522 发表于 2023-11-3 13:11
SORRY 提問為何如此  抱歉
A產生是很長公式 希望用一次 若數字 "0"是可行
TEXT(N(F2="A"),"[=1]OK;A") ...

如果A是半路算出来的结果,那么有没有可能换个方法直接就跳过这A,然后不重复引用了。

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2024-4-28 08:23 , Processed in 0.044131 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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