Tag: 查找

获取第一行匹配string的列号。 Excel VBA

我试图创build一个函数来获取基于匹配的string被插入的单元格的列号。 如果在第一排中find两个比赛,我想返回上一场比赛。 例如“TotalSalary Jan”和“TotalSalary Feb”。 以“TotalSalary”作为参数,我会得到“TotalSalary Feb”的列号。 我的代码: Private Function GetColumnNumber(name As String) As Integer Dim res As Object, ret As Integer Set res = Sheets("Unified").Cells(1, 1).EntireRow.Find(What:=name, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False) If Not res Is Nothing Then ret = res.Column Do Set res = .FindNext(res) ret = res.Column Loop While Not res Is Nothing […]

Excel – 从列中返回多个匹配值,水平排列在一行中

我有一个Excel公式,这应该工作,但返回#VALUE,我不明白为什么。 我有这张桌子: AB 1 | | | 2 | Oranges | 1 | 3 | Apples | 2 | 4 | Grapes | 3 | 5 | Oranges | 4 | 6 | Apples | 5 | 7 | Grapes | 6 | 8 | Apples | 7 | 我想检查列A中的匹配值,如“苹果”,“橙子”等,并将列B中的所有对应值返回一行: 输出应该是这样的,但我只得到#VALUE: ABCD 11 | Apples […]

有移调的条件查找

Excel 2010中有以下表格: Code Variable 2003 2004 2005 923587 WC05301 0.300926921 0.665902164 0.916134943 923587 WC05001 0.715744225 0.453420519 0.312655924 923587 WC08376 0.247108211 0.374099217 0.378376177 923587 WC08001 0.947697297 0.686620132 0.41852137 923587 WC09204 0.78860597 0.246313221 0.556252026 923587 PTBV 0.400760313 0.637586519 0.723963115 923587 DPS 0.840353147 0.782413662 0.823206141 923587 WC02201 0.515966677 0.242782576 0.289028551 923587 WC03351 0.107782133 0.873951446 0.76152958 923587 WC02001 0.599825005 […]

查找并删除单元格值为“#N / A”的行

我有一个用来分析数据集的excel文档,我带入的每个数据资源都有不同数量的数据。 我试图写一个macros,我分配给一个button,可以识别删除行基于单元格的值。 这是行不通的。 我究竟做错了什么? Sub Button2_Click() [vb] 'This will find how many rows there are With ActiveSheet lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row MsgBox lastRow End With Sub sbDelete_Rows_Based_On_Criteria() Dim lRow As Long Dim iCntr As Long lRow = lastRow For iCntr = lRow To 1 Step -1 'Replaces XX with the variable you want to delete […]

作为1/0/1990,VLOOKUP返回空白,而不是任何可见的

所有单元格格式化的date,当一个单元格是空白的,我希望它返回一个明显的空白单元格,而不是1/0/1900 。 这是我到目前为止它仍然是返回date而不是空白: = IF(ISNA(VLOOKUP($B$4,TrainingDatabase!$A$3:$S$14,3,0))= 0,"", (VLOOKUP($B$4,TrainingDatabase!$A$3:$S$14,3,0)))

vba range.find方法在随机单元格上停止

我写了这个快速的For循环作为我的macros的一部分,根据dewbk中的值列表在utwbk中find单元格。 循环似乎为一些细胞罚款,然后崩溃。 问题是,它每次崩溃的值不同,但值存在于utwbk。 这是我的代码: Dim utpath As String Dim utwbk As Workbook Dim ogfund As String Dim ogcell As Range Dim newfund As String Dim newcell As Range Dim t As Long For t = 2 To tempfundlastrow If dewbk.Sheets("Macro").Cells(t, 1).Value <> "" Then Set ogcell = dewbk.Sheets("Macro").Cells(t, 1) ogfund = Trim(ogcell.Value) With utwbk.Sheets("Report").Range(Cells(1, 1), […]

如何根据单元格的值在另一个工作表中查找特定的单元格?

我试图读取一个名为操作的表,看起来像这样 "id";"name"; "1";"LASER CUTTING"; "2";"DEBURR"; "3";"MACHINING"; "4";"BENDING"; "5";"PEM"; "6";"WELDING"; "7";"PAINT PREPARATION"; "8";"PAINTING"; "9";"SILKSCREEN PREPARATION"; "10";"SILKSCREEN"; "11";"ASSEMBLY – PACKAGING"; "12";"LASER PREP"; 我想在工作表中获得一个列,根据另一个工作表中的operation_id列的值获取适当的名称。 如何根据单元格的值在另一个工作表中查找特定的单元格? 例 userid, operation_id, operation_name bob, 3, MACHINING

如何从excel中重复多次的单元格中获得独特的价值?

大家好我有一个约50000名候选人的数据,其中一列包含下面的主题。 我想要列B中的公式来获得列A中的唯一值。如果","中的所有值都相同,那么我需要单值,否则所有单元格数据(可能有多个逗号分隔的条目) 我试过find公式,但不工作。 提前致谢。

为什么LOOKUP不匹配数组中的第一个元素?

这是我的Excel工作簿的截图 我不明白为什么单元格j7的值是44 ? j7公式=LOOKUP(1,(TRIM($D$2:$D$9)=TRIM(H7))/(TRIM($E$2:$E$9)=TRIM(I7)),$F$2:$F$9) 两个arrays划分的结果如下 {TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}/ {TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE} = {1;#DIV/0!;0;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!} 所以我在找1 ,基本上这个公式就变成了 LOOKUP(1,{1;#DIV/0!;0;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!},$F$2:$F$9) 因此结果应该是10但不是44 。 。 。 。 。 ? 编辑 当我将我的公式修正为=LOOKUP(1,1/(TRIM($D$2:$D$9)=TRIM(H7))/(TRIM($E$2:$E$9)=TRIM(I7)),$F$2:$F$9) 它工作正常。 为什么? 感谢大家给予match和index的替代解决scheme。 我只是不明白为什么我的第一个公式不起作用。 任何为什么当我加1/它MAGICALLY作品? ? ?

如果(search词)find,则执行(动作)。 如果不是,结束如果

如果你们能够帮助我,这将是非常棒的,因为这对我真的很有帮助。 这是我想要做的: search具有特定术语的单元格 如果find,则复制单元格所在的整行,并将其粘贴到其上方的一行中。 如果没有find,则不要执行任何操作并继续执行代码 这是我的代码: Sub Test() ' ' Test Macro ' ' Keyboard Shortcut: Ctrl+b ' Range("A5").Select Cells.Find(What:="PL 1", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate If Not IsEmpty(ActiveCell.Value) Then ActiveCell.Rows("1:1").EntireRow.Select Selection.Copy Range("A5").Select ActiveSheet.Paste End If Range("A5").Select Cells.Find(What:="PL 2", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, […]