我有一列带有用户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) 在宏上工作,该宏将转到第一张工作表。我正在使用:
Sub GoToFirstSheet()
On Error Resume Next
Sheets(1).Select
End Sub
Run Code Online (Sandbox Code Playgroud)
但是,如果工作表1是隐藏的,则将无法工作。如何合并进入未隐藏的第一张纸的方法?
这是一个相当短的问题,可能很容易回答,但是我自己在这一点上没有这样做:
样本数据:
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在这方面使用对象引用有什么附加价值,不使用它有什么缺点呢?
有没有一种简单的方法可以从两个以逗号分隔的数字单元格中提取共同的数字?
我有单元格,每个单元格中有 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)
我想要的结果是这样的:
我需要一个不将值分成不同列的解决方案。感谢您的帮助。
由于在某些情况下数字可能会重复两次,因此我也愿意接受这样的解决方案。
我需要从文本块中提取文本。该块看起来像这样:
{"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
我想从应该代表电话号码的字符串中删除所有无效字母。只允许使用“+”前缀和数字。我在 Kotlin 中尝试过
"+1234abc567+".replace("[^+0-9]".toRegex(), "")
Run Code Online (Sandbox Code Playgroud)
它几乎完美运行,但它不会替换最后一个“+”。如何修改正则表达式以只允许第一个“+”?
我需要找到 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 阵列的东西。
给定两个包含 ID(ID1 和 ID2)的以下格式的表
我想使用 VSTACK 将 ID 堆叠在一起,如下所示:
但是,我还想要第二个“源”列,用于标识我从哪个表中获取值。有没有一种干净的方法可以用动态公式来做到这一点?
我想删除设置为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) 我做了一些挖掘,但找不到类似的问题。使用 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)
理想的情况是寻找一种溢出的解决方案,这样我就不必拖拉公式,而是接受任何可以获得所需结果的建议。
蒂亚!