小编bre*_*tdj的帖子

Excel中的公式计算字符串中子字符串的出现次数

我试图计算子字符串在Excel中的字符串数据列中出现的次数.请参阅以下示例.

字符串数据列(推文)如下所示:

   A
1  An example string with @username in it
2  RT @AwesomeUser says @username is awesome
Run Code Online (Sandbox Code Playgroud)

带有"substrings"(Twitter屏幕名称)的列如下所示:

   B
1  username
2  AwesomeUser
Run Code Online (Sandbox Code Playgroud)

我想使用公式来计算来自B1,B2等的子字符串出现在A列的字符串中的次数.例如:搜索B1的公式将返回"2"并且搜索B2将返回"1".

我不能这样做:

=COUNTIF(A:A, "username")
Run Code Online (Sandbox Code Playgroud)

因为COUNTIF只查找字符串,而不是子字符串.该公式将始终返回"0".

这是我认为可以做到的公式:

=SUMPRODUCT((LEN(A:A)-(LEN(SUBSTITUTE(A:A,"username",""))))/LEN("username"))
Run Code Online (Sandbox Code Playgroud)

不幸的是,我在B列中有16,000个条目,在A中有数万个,因此即使在高功率PC上计数字符也不起作用(同样,该函数返回的结果也是可疑的).

我想过使用:

=COUNTIF(A:A, "*username*")
Run Code Online (Sandbox Code Playgroud)

但COUNTIF需要一个带星形运算符的字符串; 由于数据量的原因,我需要使用单元格引用.

我的问题:有谁知道如何使用这个公式?如果使用COUNTIF,如何在语句的条件部分中获取单元格引用(或使用函数替换CO​​UNTIF语句的条件部分中引用的单元格中的字符串)?

我知道我可以解析数据,但我想知道如何在Excel中执行此操作.

excel excel-formula

22
推荐指数
2
解决办法
6万
查看次数

IF - ELSE IF - Excel中的ELSE结构

要求:

如果单元格A1中的字符串包含"abc"作为字符串的一部分

然后赋值"绿色"

否则,如果单元格A1中的字符串包含"xyz"作为字符串的一部分

然后赋值"黄色"

其他

赋值"红色"

我试过这个:

=IF(FIND("~",SUBSTITUTE(A1,"abc","~",1))<>"#VALUE!", "Green", IF(FIND("~",SUBSTITUTE(A1,"xyz","~",1))<>"#VALUE!", "Yellow", "Red"))

它可以工作,如果第一个IF是True,在其他情况下它会给出#VALUE!作为输出.

无法弄清楚什么是错的.

excel excel-formula

21
推荐指数
2
解决办法
25万
查看次数

确定用户是添加还是删除行

我有一个VBA宏来验证用户输入的数据(我没有故意使用数据验证/条件格式).

我正在使用Worksheet_Change事件来触发代码,我现在遇到的问题是,当有行更改时.我不知道它是否是删除/插入行.

无论如何要区分那两个?

excel vba excel-vba

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

Excel:如何从单元格中删除所有回车?

我想摆脱我单元格中的所有回车.我该怎么做呢?

excel excel-formula

19
推荐指数
2
解决办法
8万
查看次数

将时间范围格式化为天数,小时数和分钟数

这纯粹是Excel表格问题.

我的时间跨度基本上是两个单元格之间的差异,每个单元格包含一个日期:

通过将数字格式更改为,我已设法获得小时数和分钟数的时差[h]:mm.现在我希望得到天数,小时数和分钟数的差异.我尝试将数字格式设置为[d]:[h]:[mm]但Excel不接受它.

这就是我现在拥有的:

    A                   B                   C (=A2-A1)
    ----------------    ----------------    ----------
1|  14/10/2011 00:00    17/10/2011 07:50    79:50
2|  14/10/2011 00:00    17/10/2011 11:00    83:00
Run Code Online (Sandbox Code Playgroud)

这是我想要的:

    A                   B                   C (=A2-A1)
    ----------------    ----------------    ----------
1|  14/10/2011 00:00    17/10/2011 07:50    3:7:50
2|  14/10/2011 00:00    17/10/2011 11:00    3:11:00
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?有没有可用的数字格式?

excel excel-formula

19
推荐指数
3
解决办法
9万
查看次数

用于将特定列的日期格式设置为"yyyy-mm-dd"的VBA代码

我有一个宏,我在文本框中指定日期(以mm/dd/yyyy为单位),我想以yyyy-mm-dd格式为A列设置此值.我有以下代码:

Sheets("Sheet1").Range("A2", "A50000").Value = TextBox3.Value
Sheet1.Range("A2", "A50000") = Format(Date, "yyyy-mm-dd")
Run Code Online (Sandbox Code Playgroud)

...当我运行宏时,日期仍为mm/dd/yyyy格式.

我怎样才能改变它,使它符合我想要的格式?我一直在尝试通过谷歌研究的多种代码,没有什么能按照我想要的方式设置格式.

任何帮助将不胜感激...

编辑:OP的评论完整代码如下:

 Workbooks.Add
 Range("A1") = "Acctdate"
 Range("B1") = "Ledger"
 Range("C1") = "CY"
 Range("D1") = "BusinessUnit"
 Range("E1") = "OperatingUnit"
 Range("F1") = "LOB"
 Range("G1") = "Account"
 Range("H1") = "TreatyCode"
 Range("I1") = "Amount"
 Range("J1") = "TransactionCurrency"
 Range("K1") = "USDEquivalentAmount"
 Range("L1") = "KeyCol"
 Sheets("Sheet1").Range("A2", "A50000").Value = TextBox3.Value
 Sheet1.Range("A2", "A50000").NumberFormat = "yyyy-mm-dd"
Run Code Online (Sandbox Code Playgroud)

excel vba

18
推荐指数
2
解决办法
29万
查看次数

如果Cell以文本字符串开始...公式

我有一个公式,检查单元格是否以文本"A"开头,返回拾取"B"表示收集,C表示预付费.

但它似乎没有正常工作

A和C都返回Prepaid ......

=LOOKUP(LEFT(A1),{"A","B","C"},{"Pick Up","Collect","Prepaid"})

excel excel-formula

18
推荐指数
1
解决办法
16万
查看次数

Excel在String VLOOKUP失败

我有一张看起来像这样的桌子

   B   C
43 XS  6
44 S   11
45 M   16
46 L   21
47 XL  26
48 XXL 31
Run Code Online (Sandbox Code Playgroud)

我写了这个公式:

`VLOOKUP("S",B43:C48,2)`
Run Code Online (Sandbox Code Playgroud)

它返回值为21.为什么?!它应该返回11!

更新我在另一个表中重现了这个确切的错误.VLOOKUP当搜索值是数字时起作用,但在使用字符串时始终失败.

excel excel-formula

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

找到当前的用户语言

如何在程序中告知当前的用户语言?

我需要这个以适当的语言显示一个表单.

excel vba excel-vba excel-2010

15
推荐指数
2
解决办法
2万
查看次数

Excel的工作表密码保护如何工作

这段代码已经在网上漂浮了很多年 - 它显然能够提供密码来解密你不知道密码的excel电子表格.

http://www.theofficeexperts.com/VBASamples/Excel02.htm

我对它是如何工作感兴趣,但我似乎无法解决这个问题.我假设它是在某个值下加密的,可以通过多种方式获得(网上的一些地方说它会给你原始密码或另一个可以工作的密码)有点像公钥 - 你可以有100个公钥,所有公钥都可以使用一个私钥.

对我来说,似乎它正在创建整数变量并用特定数字填充它们,然后将该数字转换为相关字符.这些总是不一样吗?如果是这样,Excel保护是否有"主密码"?

谢谢大家!

编辑:我注意到我发布的示例代码中的For n = 32 To 126.使用ASCII表进行交叉引用,该表似乎是从空间到波浪号的所有字符.这是某种字典攻击我不理解语法吗?

encryption excel vba excel-vba

15
推荐指数
2
解决办法
2万
查看次数

标签 统计

excel ×10

excel-formula ×6

vba ×4

excel-vba ×3

encryption ×1

excel-2010 ×1