Excel 公式过于复杂
Excel Formula overly complex
我有一个公式可以使用 If 语句、CONCATENATE 和文本公式构建字符串。
我的问题是公式变得比我想要的要大得多。
我的公式首先查看单元格是否为空白
=IF(I3="","",Else)
第二部分是检查字母"DKB"是否在H格
=IF(ISNUMBER(SEARCH("*DKB*",$H3)),True,False)
第三个是如果持续时间(Cell F)有 0 小时不包括(HH)
=IF(TEXT(F3,"HH")<>"00",CONCATENATE(TEXT(F3,"hh\h\r mm\m\i\n"),CONCATENATE(TEXT(F3,"mm\m\i\n"))
第四个是如果0分钟不包括分钟选择
=IF(TEXT(F3,"MM")<>"00",CONCATENATE(Text(F3,"HH:MM")),CONCATENATE(Text(F3,"HH"))
如果我要写出所有可能的播放方式,我总共会有 10 个 IF。我想要一种简单的方法来编写每个选项,而不必写出每个答案。我有部分代码,但不包括分钟部分。有一个更好的方法吗?你可以看到我只使用 if 语句我不是专家。
这是一张展示我的示例数据和示例输出的图片
如果我们可以为第一部分设置一个变量 ie:10-17 到 9:10 PM
持续时间的第二个变量
DKB 的第 3 个变量
这可能吗
也许您正在寻找这样的东西:
=IF(I3="","",TEXT(A3,"mm-dd-yyyy")&" On-Site "&TEXT(E3,"hh:mm AM/PM")& "- "&TEXT(G3,"hh:mm AM/PM")&" "&TEXT(F3,"hh\h\r mm\m\i\n")&IF(COUNTIF(H3,"*DKB*"),MID(H3,4,20),""))
=IF(I3="","",TEXT(A3,"mm-dd-yyyy")&" On-Site "&TEXT(E3,"hh:mm AM/PM")&"- "&TEXT(G3,"hh:mm AM/PM")&" "&IF(COUNTIF(F3,"*:00:*"),TEXT(F3,"hh\h\r"),IF(COUNTIF(F3,"00:*:*"),TEXT(F3,"mm\m\i\n"),TEXT(F3,"hh\h\r mm\m\i\n"))&IF(COUNTIF(H3,"*DKB*"),MID(H3,4,20),""))))
这将使它不会显示 00hr 或 00min
我有一个公式可以使用 If 语句、CONCATENATE 和文本公式构建字符串。 我的问题是公式变得比我想要的要大得多。
我的公式首先查看单元格是否为空白
=IF(I3="","",Else)
第二部分是检查字母"DKB"是否在H格
=IF(ISNUMBER(SEARCH("*DKB*",$H3)),True,False)
第三个是如果持续时间(Cell F)有 0 小时不包括(HH)
=IF(TEXT(F3,"HH")<>"00",CONCATENATE(TEXT(F3,"hh\h\r mm\m\i\n"),CONCATENATE(TEXT(F3,"mm\m\i\n"))
第四个是如果0分钟不包括分钟选择
=IF(TEXT(F3,"MM")<>"00",CONCATENATE(Text(F3,"HH:MM")),CONCATENATE(Text(F3,"HH"))
如果我要写出所有可能的播放方式,我总共会有 10 个 IF。我想要一种简单的方法来编写每个选项,而不必写出每个答案。我有部分代码,但不包括分钟部分。有一个更好的方法吗?你可以看到我只使用 if 语句我不是专家。
这是一张展示我的示例数据和示例输出的图片
如果我们可以为第一部分设置一个变量 ie:10-17 到 9:10 PM
持续时间的第二个变量
DKB 的第 3 个变量
这可能吗
也许您正在寻找这样的东西:
=IF(I3="","",TEXT(A3,"mm-dd-yyyy")&" On-Site "&TEXT(E3,"hh:mm AM/PM")& "- "&TEXT(G3,"hh:mm AM/PM")&" "&TEXT(F3,"hh\h\r mm\m\i\n")&IF(COUNTIF(H3,"*DKB*"),MID(H3,4,20),""))
=IF(I3="","",TEXT(A3,"mm-dd-yyyy")&" On-Site "&TEXT(E3,"hh:mm AM/PM")&"- "&TEXT(G3,"hh:mm AM/PM")&" "&IF(COUNTIF(F3,"*:00:*"),TEXT(F3,"hh\h\r"),IF(COUNTIF(F3,"00:*:*"),TEXT(F3,"mm\m\i\n"),TEXT(F3,"hh\h\r mm\m\i\n"))&IF(COUNTIF(H3,"*DKB*"),MID(H3,4,20),""))))
这将使它不会显示 00hr 或 00min