Tag: 查找

通过公式Excel VBA循环

我需要通过现有的公式,并删除整行,如果没有减号。 有没有办法通过字符通过公式字符或有另一种方式来确定是否有一个“ – ”的公式? Sub clearvalidation() Dim ws As Worksheet For Each ws In ActiveWorkbook.Sheets Set vali = ws.Cells.Find("Validation", LookIn:=xlValues, LookAt:=xlPart) If Not vali Is Nothing Then fr = vali.Row + 2 lr = ws.Cells(fr + 1, 6).End(xlDown).Row For exclrow = fr To lr For Each char In ws.Cells(exclrow, 7) If char = "-" Then […]

检查文本列A中的string,返回列B中的另一个string – Excel

我试图在列A中查找3个string(蓝色,红色,绿色)之一。在AI列中有: 第一行:“罗伯特有蓝色短裤” 第二排:“玛丽亚穿红裙子” 第三行:“约翰有一辆绿色汽车” 每当我在列A中find3个单词中的一个时,我想用find的实例(绿色,红色,蓝色)填充B列。 A列中的这三个单词总是会有一个,不能超过一个,单词的位置可以在string中的任何位置。 我知道如何把它放在Python或SQL,但我挣扎与Excel。 任何人都可以共享一个解决scheme,如果他们过去使用这个?

Excel:需要不寻常的查找function帮助(sorting列不同于查找列)

我无法在Excel中构build不寻常的查找公式。 通常情况下,我会使用VLOOKUP(),但是缺点是我想在一列中查找列中的数字。 Vlookup只能在已sorting的列本身上查找事物。 情况如下: 该表在B列上升序排列。 对于一个给定的参数P,现在我想要find第一个A值,从顶部开始往下,大于或等于参数P. 该函数应该返回相应的B值。 表(部分closures,完整的表格要大得多): AB 1 640 4.5 2 1600 7.0 3 640 7.5 4 1280 12.0 5 1920 16.5 6 2560 21.0 7 1600 19.8 8 3200 26.8 9 4800 33.8 例如 ,假设我的参数是1100,那么我希望我的公式返回7.0,因为在列A中向下search时大于或等于1100的第一项是1600,相应的B值是7.0 我已经尝试使用Array Formula (也称为“ctrl-shift-enter formula's”)的运气,并构build如下所示: {=INDEX(table; MATCH(MIN(IF(columnA-$C1>=0;columnA;FALSE)); IF(columnA-$C1>=0;columnA;FALSE); 0); 2)} 用C1包含我的参数, 表格的范围是A1:B9,而columnA的范围是B1:B9 但是这不起作用(在上面的例子中,它返回12.0,因为1280被MIN()函数选中)。 解决scheme我不想使用:我可以写一些VBA可以通过表,但我不想这样做(由于恼人的“macros警告”,并且因为Mac上的Excel不再支持VBA了) 任何人有任何线索?

如果#REF! 然后find错误框macros

我正在尝试完成一个简单的macros,寻找“#REF!” 在工作表中由于用户指定一行并破坏基础公式。 我已经find了: Sheets("Location_Multiple").Select Range("A1:AL10000").Select Selection.Find(What:="#REF!", After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate 从我的理解,我需要input一个If参数是真的 MsgBox"Please go back and check…." 我只是不知道该怎么做,如果… 任何指针将非常感激。

如果在Excel中匹配三列,则返回一个值

我有两个Excel表,我需要匹配三个值返回第四。 类似的列是月,代理和子域。 第四列叫差异。

结合LOOKUP和OFFSET

我想在一周之内抵消我的数据中的最后一项。 例如,我刚刚创build了这个示例数据: day value 1 4 2 3 3 5 4 6 5 1 6 3 7 9 8 5 要查找数据集中的最后一个条目,我使用查找function: =LOOKUP(9.99E+307,b1:b10) 这将返回值5 。 (如果符号不熟悉, 9.99E+307是Excel中可写入的最大数字)。 我想然后比较这个值与上周的值,从而偏移最后一个条目7.我看到OFFSET要求: 偏移(参考,行,列),但使用: =OFFSET(LOOKUP(9.99E+307,b1:b10),-7,0) 似乎不工作(它返回一个错误)。 可能是什么问题呢?

更快的查找方法和filter位置比较?

问题:我不得不search一个大的工作表,了解具体的政策编号。 当有近75,000行时,查找函数需要相当长的一段时间。 有关如何比较这两个75000行的任何build议? 我认为解决scheme可能会工作将sorting每个工作表,然后采取需要find的政策号码,并将其与中间行进行比较。 有没有办法比较该保单号码,看看在简单的sortingfunction,它会更大或更小? find比较后,我会重置上下界,再次find中间。 …这会更快吗? 还有其他build议吗? 谢谢 当前代码: Sub policyComment() Dim x As Integer Dim endRow As Variant Dim polSer As String Dim foundVal As String Dim commentVar As Variant Windows("SuspenseNoteMacro.xlsm").Activate Sheets("Main").Select Range("A2").Select endRow = ActiveCell.End(xlDown) x = 2 Do polSer = Range("A" + CStr(x)).Value Windows("010713 Suspense ALL.xlsm").Activate Sheets("Sheet1").Select Set foundRange = Sheets("Sheet1").Cells.Find(what:=polSer, […]

如果date落在两个date之间,则查找值

我有两个单元格的窗口date。 例如: a1 = 1/1/2014 8:00 b1 = 1/4/2014 10:00 c1 = 11 哪里 A是开始date B是结束date C是窗口的代码 在单元格d1我有date:1/3/2014 7:00 我想在a / b中查找date,如果d在这些date之间,那么我希望它返回窗口的代码。

如何在DataGridView中创build像Excel一样的search?

我用这个代码来searchDataGridView来查找并select一行(没有filter)! 但是,当DataGridView在行中有重复的值时,它不会得到下一行! 如何每次点击Btn_find (类似于Excel)查找下一行? private void button1_Click(object sender, EventArgs e) { button1.Text = "Find Next"; foreach (DataGridViewRow row in dataGridView1.Rows) { if (row.Cells["ProductId"].Value == null) { continue; } if (row.Cells["ProductId"].Value.ToString().Trim() == textBox1.Text) { dataGridView1.CurrentCell = row.Cells["ProductId"]; dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.Rows[row.Index].Index; return; } } } Pic_Form …

Excel VBA查找方法出错了?

我的表 我在一段时间内发展了一些依赖于同一个macros的工作表。 它会find标题,并从选定的列复制列。 该工作表用于比较两组不同的数据,而VBA中的查找function则经常使用。 我的问题 问题在于Findfunction,而它引用同一列,有两个不同的名称,有一个轻微的比较。 它发生在两列,在一定程度上有一个名称比较,如下所示: Sub CopyPasteDataLookingForHeader() Dim sht As Worksheet Set sht = Sheets("Put in data") 'I'm trying to find the column header Total Lineamount within my sheet FindTotalLineVAT = sht.Range("1:1").Find("Total Lineamount").Address(False, False, xlA1) TotalLineVAT = Application.WorksheetFunction.Substitute(FindTotalLineVAT, 1, "") 'FindTotalLineVAT will return Cell "J1" 'TotalLineVAT will return column "J" 'I'm trying to […]