小编Jvd*_*vdV的帖子

基于两个列值的VLOOKUP

我有一列带有用户ID的表。多次输入这些内容以显示特定主题的结果。

ID          Topic       Pass/Fail
71086686    Science     P
71086686    Maths       P
71086686    Tech        P
71086686    ICT         F
71086687    Science     P
71086687    Maths       P
71086687    Tech        P
71086687    ICT         F
Run Code Online (Sandbox Code Playgroud)

我试图找到一种方法来为特定ID和主题返回通过/失败结果。

我正在尝试使用VLOOKUP来执行此操作,但无法解决如何使用多列作为要查找的值的问题。

本质上,我试图达到以下目的:

Vloookup([ID] and [Topic], A:C, 3, FALSE)
Run Code Online (Sandbox Code Playgroud)

excel excel-formula vlookup

2
推荐指数
1
解决办法
60
查看次数

转到未隐藏的第一张表

在宏上工作,该宏将转到第一张工作表。我正在使用:

Sub GoToFirstSheet()

    On Error Resume Next
    Sheets(1).Select

End Sub
Run Code Online (Sandbox Code Playgroud)

但是,如果工作表1是隐藏的,则将无法工作。如何合并进入未隐藏的第一张纸的方法?

excel vba

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

Application.WorksheetFunction 与 WorksheetFunction

这是一个相当短的问题,可能很容易回答,但是我自己在这一点上没有这样做:


样本数据:

A
B
C
Run Code Online (Sandbox Code Playgroud)

示例代码:

With Sheet1
    Debug.Print Application.WorksheetFunction.Match("D", .Columns(1), 0)    'Option1
    Debug.Print Application.Match("D", .Columns(1), 0)                      'Option2
    Debug.Print WorksheetFunction.Match("D", .Columns(1), 0)                'Option3
End With
Run Code Online (Sandbox Code Playgroud)

题:

我知道 option2 丢失了智能感知并且不会进入调试模式,但是 option1 和 option3 的行为相同

  • 智能感知工作
  • 抛出错误,代码进入调试模式

虽然关于WorksheetFunction对象的文档我们可以使用对象的WorksheetFunction属性Application,但不这样做似乎也能正常工作。

那么,Application在这方面使用对象引用有什么附加价值,不使用它有什么缺点呢?

excel vba worksheet-function

2
推荐指数
1
解决办法
1225
查看次数

从 Excel 中包含逗号分隔值的两个单元格中提取公共值

有没有一种简单的方法可以从两个以逗号分隔的数字单元格中提取共同的数字?

我有单元格,每个单元格中有 12 个逗号分隔的数字。(它们并不都是唯一的。有些数字可以重复两次。但不能超过两次。数字都是正数,并且只能是一位或两位数字)

我的数据是这样的:它们在A列中:

11,11,13,15,16,18,20,20,26,27,28,29
8,9,10,12,13,14,18,20,21,22,24,28
13,13,14,14,15,17,18,19,20,21,23,25
6,6,8,10,12,14,15,17,18,20,20,25
11,13,17,18,19,19,22,25,26,28,28,31
7,9,15,16,17,18,23,24,24,25,26,27
7,9,11,12,12,15,16,16,18,18,20,23
9,11,13,15,18,22,23,24,25,28,29,29
7,9,10,11,12,12,13,14,15,16,19,22
5,10,11,12,12,16,17,18,20,22,24,25
7,10,13,16,16,17,18,19,21,23,24,24
10,14,16,18,18,19,21,23,23,25,27,28
Run Code Online (Sandbox Code Playgroud)

我想要的结果是这样的:

在此输入图像描述

我需要一个不将值分成不同列的解决方案。感谢您的帮助。

由于在某些情况下数字可能会重复两次,因此我愿意接受这样的解决方案。

在此输入图像描述

excel vba

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

按第 N 个分隔符拆分文本并转置 Google 表格

我需要从文本块中提取文本。该块看起来像这样:

{"some text"},{"some more text"},{"some other"},{"some other text"},{"let's add more"},{"even more other text"}

文本应该成对出现,以便第一个和第二个 {""},{""} 进入同一个单元格,依此类推。我尝试了 split 功能,但由于分隔符是逗号,我无法成对拆分。所以我需要在每 2 个逗号后拆分并将结果对放在它自己的单元格中。然后转置结果,使文本垂直进入一列。

我试过了,=SPLIT("",",")但没有得到想要的输出。

我为此使用 Google 表格,并希望在 Google 表格中执行此操作,但我愿意在 Excel 中执行此操作。

如果你想看看谷歌表格文件,这里是链接https://docs.google.com/spreadsheets/d/1sbK6nF-6SO4oOKTdercgnfHGeQol-vfV5SRcFXNBy5o/edit?usp=sharing

excel google-sheets google-apps-script google-sheets-formula

2
推荐指数
1
解决办法
629
查看次数

正则表达式替换所有非数字但允许'+'前缀

我想从应该代表电话号码的字符串中删除所有无效字母。只允许使用“+”前缀和数字。我在 Kotlin 中尝试过

"+1234abc567+".replace("[^+0-9]".toRegex(), "")
Run Code Online (Sandbox Code Playgroud)

它几乎完美运行,但它不会替换最后一个“+”。如何修改正则表达式以只允许第一个“+”?

regex kotlin

2
推荐指数
1
解决办法
138
查看次数

查找非单元格引用的 Excel 数组的每一行或每一列中的最大值

我需要找到 LET 调用内数组中一列的最大值,该调用不是使用一个单元格的单元格引用。

适用于作为单元格引用的数组,但是当我尝试在不是单元格引用的数组上使用它时,它会失败。

例如,使用此数据。

12  2  3
 3  7  5
 7  8  9
Run Code Online (Sandbox Code Playgroud)

=LET(Rng,$A$1:$C$3,SUBTOTAL(4,OFFSET(INDEX(Rng,1,1),,COLUMN(Rng)-MIN(COLUMN(Rng)),ROWS(Rng))))如您所料返回 [12, 8, 9] 但=LET(Rng,$A$1:$C$3*1,SUBTOTAL(4,OFFSET(INDEX(Rng,1,1),,COLUMN(Rng)-MIN(COLUMN(Rng)),ROWS(Rng))))返回#VALUE

这可以在单个单元中完成还是我必须使用多个单元?

编辑:所需的输出是

12  8  9
Run Code Online (Sandbox Code Playgroud)

我有一个适用于与单元格关联的数组的公式,但没有适用于未与单元格关联的数组的公式,例如在LET

编辑 2:最终我需要一些适用于 36x36 阵列的东西。

excel excel-formula dynamic-arrays office365

2
推荐指数
1
解决办法
953
查看次数

使用 VSTACK 需要根据从哪个数组中获取值来生成一个指标

给定两个包含 ID(ID1 和 ID2)的以下格式的表

在此输入图像描述

在此输入图像描述

我想使用 VSTACK 将 ID 堆叠在一起,如下所示:

在此输入图像描述

但是,我还想要第二个“源”列,用于标识我从哪个表中获取值。有没有一种干净的方法可以用动态公式来做到这一点?

excel excel-formula office365

2
推荐指数
1
解决办法
99
查看次数

从范围中删除一个单元格

我想删除设置为rng8的表的H列的第一个单元格,然后将新对象放入rng9。我要排除的单元格是列的标题。我使用以下命令,但它们不起作用

Set rng8 = Sheets(firstsheetname).Range("H:H") 

Set rng9 = rng8.Offset(1, 0).Resize(rng8.Rows.Count - 1, rng8.Columns.Count)
Run Code Online (Sandbox Code Playgroud)

excel vba

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

无需 VBA 即可连接两列值的所有组合的公式

我做了一些挖掘,但找不到类似的问题。使用 VBA 循环这很容易,但实际上只是由于兼容性/在线共享而尝试使用单元格公式获得相同的结果。

我有两列,正在尝试连接两列的所有可能值。

Col1  Col2
A     1
B     2
C
...etc...
Run Code Online (Sandbox Code Playgroud)

所以结果是:

A1
A2
B1
B2
C1
C2
...etc...
Run Code Online (Sandbox Code Playgroud)

理想的情况是寻找一种溢出的解决方案,这样我就不必拖拉公式,而是接受任何可以获得所需结果的建议。

蒂亚!

arrays excel excel-formula excel-365

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