【发布时间】:2012-01-23 21:07:58
【问题描述】:
我目前正在使用 isnumber 来确定特定单词是否存在于包含句子的单元格中。我正在尝试确定如何找到始终在特定单词之前或之后的数字的值。如何操作公式或创建一系列公式,以提取位于“常量词”之前或之后的“可变词”?
例如,
有 39 只猫跑过 45 个门。
有 32 只猫跑过 20 道门。
我正在寻找穿过大门的猫的数量。
我目前的进度...
猫的数量总是在 1 - 100 之间,门的数量也总是在 1 - 100 之间。 目前,我正在运行 100 列。每列都有一个公式,例如 =ISNUMBER(SEARCH(" 2 个猫",'包含句子的单元格')),下一列将是 =ISNUMBER(SEARCH(" 3 个猫",'包含句子的单元格')) .这将返回 true 或 false,以便我可以有一列在整个行中找到 true 并返回该单元格的 cat 值...
我目前的问题...
每个句子中有两个数字,所以...我目前有两个真实的列。
问题...
有没有办法提取单词cats之前的数字? 猫的数量永远不会总是大于门的数量,也不总是小于门的数量。 “猫”这个词在每个句子中都会保持不变,但数量会改变......
希望这足够清楚,有人可以提供帮助!提前致谢!!
刚刚添加 - 我意识到在我当前的计算机上运行的是入门版,所以我无法访问 VBA。我发现使用这个公式效果很好。 =LOOKUP(1,RIGHT(TRIM(LEFT(J46,FIND("cats",J46)-1)),{1,2,3,4,5,6}))。 尽管它将所有数字都返回为正数。
我现在的问题是——你如何找到一个跟在常量词后面而不是在它前面的值? ——
【问题讨论】:
-
how do you find a value that follows a constant word- 这是一个不同的问题吗?我下面的公式立即找到数字preceding"cats" - 立即following"dogs" 试试这个=LOOKUP(1000,MID(A1,FIND("dogs",A1)+4,{1,2,3,4})+0) -
谢谢巴里!这比我使用 =MID(A1,(FIND("cats",A1)+6),2) 的等式完美而且可能更有效,其中 6 是您想跳到的右侧空格数, 2 是您想要返回的位数。假设句子的格式保持不变,其中右侧的空格数在整个单元格中始终保持不变。
标签: excel