Tag: 工作表函数

在VBA中使用SUM()

如果我想在工作表中添加一组单元格,则可以使用以下公式: =SUM(Sheet1!A1:A10) 要做到这一点,我会使用: Sub example1() Dim r As Range, v As Variant Set r = Sheets("Sheet1").Range("A1:A10") v = Application.WorksheetFunction.Sum(r) End Sub 但是,如果我想在许多工作表中添加单个单元格,则使用以下公式: =SUM(Sheet1:Sheet38!B2) 在VBA中,这一行失败了,正如在VBA中指定Excel范围内所述 : Sub dural() v = Application.WorksheetFunction.Sum("Sheet1:Sheet3!B2") End Sub 我有两个解决方法。 我可以通过编程一个循环的总和: Sub example2() Dim i As Long Dim v As Variant v = 0 For i = 1 To 38 v = […]

将公式作为文本处理,而不是数字

我有一个Excel公式从列中读取数据。 该列中的数据有时是类似date的格式,例如“10-11”。 尽pipe事实上我已确保该列是文本格式的,并且所有值均以纯文本forms正确显示,而不是重新解释为date,但公式基本上将其重新解释为引用中的date。 我需要一种方法来强制公式的单元格引用将单元格解释为文本。 我尝试了TEXT(A1,“@”),但它不起作用 – 它给出了date的数字值。

当表单名称是单元格的值时,如何引用另一个表单元格的单元格?

在Excel 2007中,我在下面的单元格中有一个公式: =COUNTIFS('2008-10-31'!$C:$C;">="&'$A7) 现在我想让表格的名字('2008-10-31')取决于某个单元格的值(比如A1)。 就像是: =COUNTIFS(A1!$C:$C;">="&'$A7) // error 有没有办法做到这一点? 还是我必须写一个VBAmacros?

Excel中的嵌套IF语句

我正在尝试创build一个电子表格,根据他们得到的分数自动给学生一个分数。 我显然打了Excel的嵌套的IF语句限制是7。 这是我的if语句: =IF(O5>0.895,"A+",IF(O5>0.845,"A",IF(O5>0.795,"A-",IF(O5>0.745,"B+",IF(O5>0.695,"B",IF(O5>0.645,"B-",IF(O5>0.595,"C+",IF(O5>0.545,"C","D")))))))) 我正在网上阅读,我可以创build一个VBA脚本,并指定它,但我不知道任何关于VBA ….所以如果有人可以帮我写一个VBA的,这将是真棒。 它仍然缺lessC级,任何东西都应该被授予D标记。 这是我正在创build的评分scheme…: A + 89.500 – 100.000通过优异 84.500 – 89.490通行证有区别 A- 79.500 – 84.490通过优秀 B + 74.500 – 79.490及格 B 69.500 – 74.490及格 B- 64.500 – 69.490及格 C + 59.500 – 64.490通过 C 54.500 – 59.490通过 C- 49.500 – 54.490通过 D 0.000 – 49.490指定失败 我不介意走下VBA路线,但是我对VB语言的了解绝对是最小的(不喜欢它)…如果这太乏味,我想创build一个小的PHP / MySQL应用程序。

如何在使用COUNTIFS函数时仅对可见行进行计数?

我一直在使用Excel的COUNTIFS函数来计算表中符合特定条件的行数,例如: =COUNTIFS(Table1[Result],"Fail", Table1[Comments], "") 现在我想修改这个expression式,以便它只计算Table1中可见的行。 (IE没有被滤除。)我怎么能做到这一点?

如果两个单元格匹配,则从第三个返回值

这里有一个简单的解释,我有什么麻烦。 A列:2300个订单号码 列B:与订单号码关联的电子邮件地址 列C:我需要电子邮件地址的100个特定订单号的列表 所以,我打算在A列中search与C匹配的值,并在新列(D)中返回列B中的电子邮件地址。 目前的公式几乎可以工作,但不是返回A匹配C的电子邮件地址,而是从同一行返回电子邮件地址。 =IF(ISERROR(MATCH(C2,A:A,0)),B2) 基本上我只需要上面的公式中的B2返回匹配的同一行的值。

MS Excel中的条件中位数

我试图计算一个看起来像这样的图表的条件中位数: A | B ——- x | 1 x | 1 x | 3 x | y | 4 z | 5 我正在使用MS Excel 2007.我知道AVERAGEIF()语句,但没有中值的等价物。 主要的技巧是有没有数据的行 – 比如上面的第四个“a”。 在这种情况下,我不想在计算中考虑这一行。 谷歌searchbuild议如下,但Excel不会接受公式的格式(也许是因为它是2007年?) =MEDIAN(IF((A:A="x")*(A:A<>"")), B:B) Excel提供了一个错误,说我的公式有什么问题(与条件中的*有关)我也尝试了以下操作,但是它将空白单元格计算为0: =MEDIAN(IF(A:A = "x", B:B, "") 我知道这些公式返回Excel“数组”,这意味着必须input“Ctrl-shift-enter”才能使其正常工作。 我如何做一个有条件的评估,而不是考虑空白单元格?

使Excel公式返回0,使结果为空

我有一个反复出现的Excel问题,如INDEX(array,row,column) ,当没有结果时返回0,而不是返回空白。 将零结果更改为空白的最佳方法是什么? 以下是我迄今尝试过的方法: 1)用零除。 如果INDEX返回0,我会导致一个错误,然后我过滤掉。 =IFERROR(1/1/INDEX(A,B,C),"") 缺点:使公式更混乱,并隐藏你可能想看到的错误。 2)使用自定义格式 0;-0;;@ 缺点: 1)不能同时应用date格式 2)它在检查空白单元格时没有使用条件格式(仍然是零值,它只是没有显示) 3)使用IF语句 =IF((1/1/INDEX(A,B,C))<>"",(1/1/INDEX(A,B,C)),"") 缺点:凌乱的重复 有没有人有任何其他/更好的想法?

如何围绕MS Access,VBA

什么是在VBA访问中最好的方法? 我目前的方法利用Excel方法 Excel.WorksheetFunction.Round(… 但是我正在寻找一种不依赖于Excel的方法。

如何在Excel中实现可重置,可重复使用的默认单元格值?

>>问题总结 我想在Excel中实现一个可重置的,可重复使用的默认单元格值。 我的意思是,当第二个单元更新时,有一个单元恢复到一个“默认”值,通过一个依赖于第二个单元的查找公式获得。 用户还可以select将不同的值写入原始单元格,直到第二个单元格被更新。 >>主体和细节 好的,这是情况。 此快照是多个工作表数据存储库的相关区域。 为了清晰起见,两个感兴趣的单元格为绿色突出显示,最高的可见行为第1行。 项目search单元接受各种单词或短语input,并具有数据validation,以确保只有有效的input是可能的。 数据validation是从可能的input的字母表列表中获取的,单元格有一个下拉列表选项(因此右边是小箭头)。 堆栈单元格使用下面的公式中的项目search单元格的input… =IF(COUNTIF(C3:F315,J6),VLOOKUP(J6,C3:F315,4,FALSE),"~") …其中J6是项目search单元格,范围C3:F315是同一工作表上的查找表的相关部分。 问题相关的Excel文件的快照描绘区域。 http://img29.imageshack.us/img29/4388/capturedhx.jpg 现在,这是我想在堆栈单元格中发生的… 当前function: 当在“ 物品search”单元格中input了无效的input时,会显示波浪符而不是数字。 input有效的input时,查找表中的相关编号显示在单元格中。 买入和卖出单元格也以相同的方式更新。 所需的附加function: 首先,代字号不能被覆盖。 在第二种情况下,可以通过向堆栈单元input另一个数字来覆盖“默认”号码。 当input新的input(或再次input相同的input)到项目search单元中时,默认编号(或波形符号)再次显示。 愿望清单(非必需): 如果勾选了一个checkbox(或类似的,如在相邻单元格中的是/否input),则意味着堆栈单元中显示的号码不会被任何新的“默认值”改变/影响从查阅表读入。 该号码仍然可以通过手动input新号码进行修改。 Item Search单元格目前有一个下拉字母表,列出所有可能的有效数据input。 有没有办法使用这个相同的列表来添加一个自动完成function的单元格? 也许有点像谷歌的search引擎,下拉列表出现在您键入和填充该列表的项目不断限制到那些包含您已经input的(子)string。 注意:不pipe什么值显示在堆栈单元格必须是可读的其他单元格的公式; 即“ 买入”和“ 卖出”单元格,其值将成为当前单元格中显示的堆栈单元格查找值的比率。 这可能在任何程度上? 优选地(但不排除)不需要使用macros。 本工作手册旨在分发给其他人,其中大部分被locking和保护,以避免对核心数据进行任何更改。 先谢谢你。 目前发现的信息: …但不完全解决我的问题。 我可能可以使用多个单元格来实现相同(或类似)的有效function(一个单元格保存默认值,另一个保存可能的用户input值,第三个单元格保存相关的输出值),但这不会看起来像对于最终用户来说也不是那么直观。 这本工作手册旨在分发给其他人,其中大部分被locking和保护。 – 这个答案是不可取的。 在提出这个问题之前,我在网上search了一些信息。 它说,如果我想恢复到默认值是自动的,那么在工作表变更事件例程中使用下面的代码: Private Sub Worksheet_Change(ByVal Target As Range) If […]