我试图在excel公式中拆分字符串,就像我在许多编程语言中可以做的那样,例如
string words = "some text".split(' ');
Run Code Online (Sandbox Code Playgroud)
问题是我不能确定单元格中有多个单词.如果我尝试使用FIND()或SEARCH()函数,#VALUE如果没有空格则返回.是否有任何简单的方法来分割字符串,以便它返回单个单词(甚至更好,以便它返回第一个单词或所有其他单词)?
新函数UNIQUE是否可以跨不同列使用并将输出溢出到单个列中?
所需的输出是UNIQUE一列中的值,基于中存在的所有值Columns: A, B, & C(示例中为红色的重复项)
UNIQUE(A7:C7)我会得到跨列的溢出范围(这甚至不提供跨列的唯一值,这是出乎意料的)UNIQUE(A2:A6) & UNIQUE(B5:B10) & UNIQUE(C2:C5)但这只是连接了值(也出乎意料但不相关)在现已删除的问题中,OP 要求返回1.3并0.4来自1^1.3%2^0.4。
我立即想到了 FILTERXML。
我能够做到这一点:
=MID(FILTERXML("<a><b>"&SUBSTITUTE(A1,"%","</b><b>")&"</b></a>","//b"),FIND("^",FILTERXML("<a><b>"&SUBSTITUTE(A1,"%","</b><b>")&"</b></a>","//b"))+1,99)
Run Code Online (Sandbox Code Playgroud)
但这似乎太重复了。
我substring-after在 XPATH 1.0 中找到了它,但无法让它执行我想要的操作。我首先尝试:
=FILTERXML("<a><b>"&SUBSTITUTE(A1,"%","</b><b>")&"</b></a>","//b[substring-after(., '^')]")
Run Code Online (Sandbox Code Playgroud)
但这返回了完整的字符串和:
=FILTERXML("<a><b>"&SUBSTITUTE(A1,"%","</b><b>")&"</b></a>","substring-after(//b, '^')")
Run Code Online (Sandbox Code Playgroud)
刚刚返回了一个错误。
有没有办法只使用 FILTERXML 返回所需的数字?
如 2 张图片所示,有 2 张。“结果”是我希望结果所在的工作表,“来自”工作表是搜索的来源。基本上,我想根据“班级编号”和“学生编号”搜索该学生的姓名。“班级编号”和“学生编号”都不是唯一的,这意味着可能存在重复。但“班级号”和“学号”的组合是唯一的,这意味着每个学生都会有不同的“班级号”和“学号”组合。所以我想到的方法是首先创建一个支撑列,将“班级编号”和“学号”连接起来,然后进行VlookUp。代码如下:
Sub vlookupName()
'get the last row of both sheets
resultRow = Sheets("Result").[a1].CurrentRegion.Rows.Count
fromRow = Sheets("From").[a1].CurrentRegion.Rows.Count
'concat Class number and student number to get a unique string used for vlookup
Sheets("Result").Range("D2:D" & resultRow) = "=B2 & C2"
Sheets("From").Columns("A").Insert
Sheets("From").Range("A2:A" & resultRow) = "=c2 & d2"
'vlookup
Sheets("Result").Range("A2:A" & resultRow) = Application.VLookup(Sheets("Result").Range("D2:D" & resultRow).Value, _
Sheets("From").Range("a2:b" & fromRow).Value, 2, False)
'(delete columns to get back to raw file for next test)
Sheets("Result").Columns("D").Delete
Sheets("From").Columns("A").Delete
Sheets("Result").Range("A2:A" & resultRow) = …Run Code Online (Sandbox Code Playgroud) 我喜欢preceding-sibling-or-self我的xpath中的功能而且我正在使用../(self::*|preceding-sibling::*)它并且它正在给我Expression must evaluate to a node-set.,所以我一定做错了.
无论您使用什么上下文节点或xml是什么样的,这都是炸弹.我想在这之后使用这个功能,/所以我需要正确的语法.
xpath表达式(self::*|preceding-sibling::*)没有给出错误,因此它与我尝试使用它的xpath中的位置有关.
编辑:
我的错误实际上更基本.你甚至不能../(.|.)没有这个错误.一般来说,我想去一个节点,然后从那里查看一组节点.该错误似乎与|在斜杠后尝试使用union运算符相关/.
我有以下示例数据:
1. animated_brand_300x250
2. animated_brand_300x600
3. customaffin_greenliving_solarhome_anim_outage_offer
Run Code Online (Sandbox Code Playgroud)
如何从 Microsoft Excel 中的最后一个下划线中提取字符串?
我想在第一个下划线之前和最后一个下划线之后提取值。
第一个下划线:
=LEFT(B6,SEARCH(“_”,B6)-1)
Run Code Online (Sandbox Code Playgroud)
将返回animated并customaffin作为输出。
如何返回最后一个下划线后的字符串?
我有一张这样的桌子
\n\n左侧:我在单元格中查找的文本列表。右边:我将根据我找到的文本使用公式。该公式对于文本提取是必需的(这与我找到的文本不同)。
\n问题是:如何在一个单元格中搜索此文本列表,然后返回要使用的关联公式?
\n\n正如你所看到的,我每行都有随机文本,我想提取特定的内容。由于 Excel 的限制,我无法使用 If..if..if..。
\n输入:
\nlrh34gero egepjpj I28595474 erqm567goh
\ngerlkq $ONE-234556 ethrh3444rzh
\nzrlthk 4555 njwhv \xc3\xb9pbozj LFO-FIN-25436545
\n一些类似命名的线程,但仍然无法解决我的问题。我需要从 Excel 字符串(在我的场景中为 8 位数字)中提取一个固定长度的 NUMBER 值。为此提供了以下 Excel 公式:
=MID(A1,FIND("--------",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"0","-"),"1","-"),"2","-"),"3","-"),"4","-"),"5","-"),"6","-"),"7","-"),"8","-"),"9","-")),8)
Run Code Online (Sandbox Code Playgroud)
它可以完成这项工作,但是我对此有两个问题:
最重要的是 - 我正在寻找完全匹配。虽然它确实提取了它找到的第一个 8 位数字序列,但我真的只需要8 位数字,这意味着应该忽略 9 位(或更长)数字(因为 7 位数字已经是)。此公式还从较长的数字中提取前 8 位数字。
不太重要,但只查找以 1 开头的数字会很好。所以,真的只是想提取这个:1??????? 作为数值。因此,像“一12891212一”或“一12891212一”应该被提取,同时12891212 0A或23456789不应该。
如果合理可行,与 VBA 相比,我更喜欢基于 Excel 公式的方法。任何帮助深表感谢!
我正在学习用于网页抓取的 XPath,并偶然发现了这两个 XPath 示例:
//div[@class="head"][@id="top"]
Run Code Online (Sandbox Code Playgroud)
和
//div[@class='canvas- graph']//a[@href='/accounting.html'][i[@class='icon-usd']]/following-sibling::h4
Run Code Online (Sandbox Code Playgroud)
我想知道这是什么div[@class="head"][@id="top"]意思。这是否意味着该@id=top属性属于该div元素?是一样的//div[@class="head" and @id="top"]吗?
当方括号嵌套在另一个示例中时,这意味着什么?匹配第二个 xpath 表达式的 HTML DOM 会是什么样子?
我试图找出一个公式来查找两个下划线字符之间的值。我试图从下面的字符串中提取“12345_XYZXYZ”。12345 和 XYZXYZ 是可变的,因为处理这些部分的实际数据可以是任意数量的字符,但始终位于 2 个外部下划线之间,并在它们之间有一个下划线。我本来希望使用下划线作为指示符,但事实上有 3 个下划线,其中一个位于字符串的中间,这让我感到困惑:
单元格 A1:
ABCDEF_12345_XYZXYZ_-423423
Run Code Online (Sandbox Code Playgroud)
到目前为止我尝试过的公式在 B2 中,它只返回 12345:
=LEFT(MID(A1,FIND("_",A1)+1,LEN(A1)),FIND("_",MID(A1,FIND("_",A1)+1,LEN(A1)))-1)
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助!