相关疑难解决方法(0)

在Excel公式中模拟字符串拆分功能

我试图在excel公式中拆分字符串,就像我在许多编程语言中可以做的那样,例如

string words = "some text".split(' ');
Run Code Online (Sandbox Code Playgroud)

问题是我不能确定单元格中有多个单词.如果我尝试使用FIND()SEARCH()函数,#VALUE如果没有空格则返回.是否有任何简单的方法来分割字符串,以便它返回单个单词(甚至更好,以便它返回第一个单词或所有其他单词)?

excel formula excel-formula

25
推荐指数
3
解决办法
11万
查看次数

Excel 跨列唯一

新函数UNIQUE是否可以跨不同列使用并将输出溢出到单个列中?


所需的输出是UNIQUE一列中的值,基于中存在的所有值Columns: A, B, & C示例中为红色的重复项

在此处输入图片说明


  • 如果我只是使用,UNIQUE(A7:C7)我会得到跨列的溢出范围(这甚至不提供跨列的唯一值,这是出乎意料的
  • 我也尝试过,UNIQUE(A2:A6) & UNIQUE(B5:B10) & UNIQUE(C2:C5)但这只是连接了值(也出乎意料但不相关

excel excel-formula dynamic-arrays office365

7
推荐指数
4
解决办法
941
查看次数

使用 FILTERXML 之后返回子字符串

在现已删除的问题中,OP 要求返回1.30.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 返回所需的数字?

excel excel-formula

5
推荐指数
1
解决办法
182
查看次数

在 Excel VBA 中查找基于 2 列的数据

在此输入图像描述
在此输入图像描述

如 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)

excel vba

5
推荐指数
2
解决办法
1416
查看次数

xpath:previous-sibling-or-self

我喜欢preceding-sibling-or-self我的xpath中的功能而且我正在使用../(self::*|preceding-sibling::*)它并且它正在给我Expression must evaluate to a node-set.,所以我一定做错了.

无论您使用什么上下文节点或xml是什么样的,这都是炸弹.我想在这之后使用这个功能,/所以我需要正确的语法.

xpath表达式(self::*|preceding-sibling::*)没有给出错误,因此它与我尝试使用它的xpath中的位置有关.

编辑:

我的错误实际上更基本.你甚至不能../(.|.)没有这个错误.一般来说,我想去一个节点,然后从那里查看一组节点.该错误似乎与|在斜杠后尝试使用union运算符相关/.

.net xpath

4
推荐指数
1
解决办法
2255
查看次数

如何在最后一个下划线后提取Excel中字符串的最后一部分

我有以下示例数据:

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)

将返回animatedcustomaffin作为输出。

如何返回最后一个下划线后的字符串?

excel excel-formula

4
推荐指数
2
解决办法
1869
查看次数

搜索文本并对找到的文本使用特定公式

我有一张这样的桌子

\n

要查找的文字

\n

左侧:我在单元格中查找的文本列表。右边:我将根据我找到的文本使用公式。该公式对于文本提取是必需的(这与我找到的文本不同)。

\n

问题是:如何在一个单元格中搜索此文本列表,然后返回要使用的关联公式?

\n

编辑:我正在寻找什么:\n在此输入图像描述

\n

正如你所看到的,我每行都有随机文本,我想提取特定的内容。由于 Excel 的限制,我无法使用 If..if..if..。

\n

输入:

\n

lrh34gero egepjpj I28595474 erqm567goh

\n

gerlkq $ONE-234556 ethrh3444rzh

\n

zrlthk 4555 njwhv \xc3\xb9pbozj LFO-FIN-25436545

\n

excel find excel-formula office365

4
推荐指数
1
解决办法
158
查看次数

从 Excel 单元格中提取固定长度的数字

一些类似命名的线程,但仍然无法解决我的问题。我需要从 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)

它可以完成这项工作,但是我对此有两个问题:

  1. 最重要的是 - 我正在寻找完全匹配。虽然它确实提取了它找到的第一个 8 位数字序列,但我真的只需要8 位数字,这意味着应该忽略 9 位(或更长)数字(因为 7 位数字已经是)。此公式还从较长的数字中提取前 8 位数字。

  2. 不太重要,但只查找以 1 开头的数字会很好。所以,真的只是想提取这个:1??????? 作为数值。因此,像“一12891212一”或“一12891212一”应该被提取,同时12891212 0A或23456789不应该。

如果合理可行,与 VBA 相比,我更喜欢基于 Excel 公式的方法。任何帮助深表感谢!

excel vba excel-formula

3
推荐指数
1
解决办法
1120
查看次数

XPath:嵌套方括号是什么意思?

我正在学习用于网页抓取的 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 会是什么样子?

html xml xpath web-scraping

3
推荐指数
1
解决办法
1415
查看次数

Excel 公式查找两个外部字符之间的中间文本

我试图找出一个公式来查找两个下划线字符之间的值。我试图从下面的字符串中提取“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)

感谢您的帮助!

excel spreadsheet formula excel-formula office365

3
推荐指数
1
解决办法
2209
查看次数