标签: worksheet-function

将公式视为文本,而不是数字

我有一个Excel公式从列中读取数据.该列中的数据有时是类似日期的格式,例如"10-11".尽管我确保列是文本格式的 - 并且所有值都以纯文本形式显示,而不是重新解释为日期 - 但公式基本上将它们重新解释为引用中的日期.

我需要一种方法来强制公式的单元格引用将单元格解释为文本.我试过TEXT(A1,"@"),但它不起作用 - 它给出了日期的数值.

excel worksheet-function array-formulas

10
推荐指数
3
解决办法
7万
查看次数

从一行中的最后3个非空白单元格中获取值

我目前有一个类似于以下的excel工作表(#代表空白单元格)

1   2   3   4   5   6   7
37  21  30  32  25  22  34
#   17  26  28  27  17  31
#   #   #   #   #   #   38
25  23  27  35  33  #   #
27  11  23  #   #   #   #
Run Code Online (Sandbox Code Playgroud)

在第8列中,我需要最后3个非空白单元格的总和(列数经常增加).

我需要实现的一个例子如下:

1   2   3   4   5   6   7       8
37  21  30  32  25  22  34      25+22+34=81
#   17  26  28  27  17  31      27+17+31=75
#   #   #   #   #   #   38      N/A
25 …
Run Code Online (Sandbox Code Playgroud)

excel vba worksheet-function excel-vba

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

Excel中的嵌套IF语句[超过7个允许的限制]

我正在尝试创建一个电子表格,根据他们的分数自动为学生提供成绩.

我显然已经达到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"))))))))
Run Code Online (Sandbox Code Playgroud)

我在网上看到我可以创建一个VBA脚本然后分配它,但我对VBA一无所知....所以如果有人可以帮我写一个VBA,那就太棒了.

它仍然缺少C级和任何低级应该被授予D标记.

这是我试图创建的评分方案......:

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语言的理解绝对是最小的(不喜欢它)...如果这太繁琐了,我想创建一个小的php/mysql应用程序.

excel vba if-statement nested worksheet-function

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

JXL解决#VALUE问题

我想使用AVERAGE函数,但是当我有一个恰好是标签的引用单元格时,我得到#VALUE作为输出.

我附上了我想要做的代码示例代码:

String filename = "C:\\input.xls";     
WorkbookSettings ws = new WorkbookSettings();      
ws.setLocale(new Locale("en", "EN"));      
WritableWorkbook workbook = Workbook.createWorkbook(new File(filename), ws);     
WritableSheet s1 = workbook.createSheet("Output", 0);     
s1.addCell(new Number(1,2,6));      
s1.addCell(new Number(3, 1, 6));       
s1.addCell(new Number(3, 2, 1));      
s1.addCell(new Number(3, 3, 6));      
s1.addCell(new Label(3, 4, ""));      
Formula formula = new 
 Formula(3,5,"AVERAGE(Output!D1,Output!D2,Output!D3,Output!D4,Output!D5)");      
s1.addCell(formula);  
workbook.write();
workbook.close();
Run Code Online (Sandbox Code Playgroud)

因为AVG值会改变,所以我无法将空单元格转换为0.

JAR使用

JXL-2.6.jar

实时而不是Label,将根据公式使用该值

IF(一些-于小区的参考= "", "",一些 - 值)

然而; 当我尝试使用键F2编辑单元格时,它会更改其执行计划并获得正确的输出.

有没有解决方案....

预期的解决方案:

要使单元格为空,但更改单元格格式,以便不返回#VALUE.

这篇文章略有关系

JXL #VALUE参考其他工作表的问题

java excel jxl worksheet-function

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

如何指定变量Excel范围?

我希望能够基于行/列变量在Excel中动态指定范围.

假设我的文件内容看起来像这样:

   A   B   C   D   E
1  10  11  12  13  14
2  51  52  53  54  55

如果我想对第1行第2-4列(即11 + 12 + 13)中的项目求和,我该如何指定?

如果我是手工做的,我会输入:

=SUM(B1:D1)
Run Code Online (Sandbox Code Playgroud)

...但是我如何在运行中以编程方式生成该范围定义,只知道所需的行(1)和列号(2-4)?

=SUM(????)
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助!

(我正在使用Microsoft Excel 2011 for Mac,因此Excel VBA /基于宏的解决方案对我不起作用.)

excel worksheet-function excel-2011

9
推荐指数
1
解决办法
6万
查看次数

如何从工作表函数中的数组中提取子数组?

有没有办法在Excel中获取比单元格工作表函数中的起始数组更小的数组?

所以,如果我有:

{23, "", 34, 46, "", "16"}
Run Code Online (Sandbox Code Playgroud)

我最终得到:

{23, 34, 46, 16}
Run Code Online (Sandbox Code Playgroud)

然后,我可以使用其他一些功能进行操作.

结论:如果我要做很多这些,我肯定会使用jtolle的UDF梳子解决方案.PPC使用的公式很接近,但潜入并测试,我发现它在空插槽中出错,错过了第一个值,并且有更简单的方法来获取行号,所以这是我的最终解决方案:

=IFERROR(INDEX($A$1:$A$6, SMALL(IF(($A$1:$A$6<>""),ROW($A$1:$A$6)),ROW(1:6))),"")
Run Code Online (Sandbox Code Playgroud)

必须以数组公式(CTRL-SHIFT-ENTER)输入.如果显示,则必须至少输入与结果集一样大的区域以显示所有结果.

arrays excel worksheet-function

9
推荐指数
2
解决办法
4万
查看次数

工作表位置超出范围.连接已关闭.使用EPPLUS时

我正在尝试使用EPPLUS 4.0.3打开一个XLSX文件作为模板(我甚至使用了一个空白的XLSX文件).

如果我不打开模板文件(空白或真实的),只需创建一个新工作簿并创建一个工作表,它就可以正常工作.或者如果我打开模板文件,并创建一个新的工作表,那么它工作正常.只有当我尝试访问模板中的FIRST工作表时才会出现错误:工作表位置超出范围.

像这样访问第一个工作表:workBook.Worksheets.First()不工作.

首先不再是定义.

因此,我尝试按名称访问第一个工作表,并使用此方法同时workBook.Worksheets[1]使用0和1来尝试获取第一个工作表.

我的代码:

    var existingTemplate = new FileInfo(_ExcelTemplateFilePath);
    using (ExcelPackage p = new ExcelPackage(existingTemplate)) {
    // Get the work book in the file
    ExcelWorkbook workBook = p.Workbook;
    ExcelWorksheet ws = workBook.Worksheets[1];
    // MY OTHER EXCEL CELL CODE HERE    
}}
Run Code Online (Sandbox Code Playgroud)

有谁知道如何访问第一张和Excel文件?

excel worksheet worksheet-function epplus epplus-4

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

如何在excel中计算不同字体颜色的文本

我有一个从另一个数据库导出到excel的名称列表.列表中感兴趣的名称以红色字体突出显示.我想要一种计算它的方法,即约翰史密斯在一列中总共出现5次,但在5次中出现3次,他的名字以红色字体突出显示.所以我想看看他的名字有多少个实例出现红色.

我知道如何搜索他名字的所有实例,例如= COUNTIF(A1:A100,"John Smith")

我还帮助创建了一个VB函数,它通过使用这个来计算工作表中所有红色值(= SumRed)(一旦指定了颜色索引):

Function SumRed(MyRange As Range)
    SumRed = 0
For Each cell In MyRange
    If cell.Font.Color = 255 Then
        SumRed = SumRed + cell.Value
    End If
Next cell
End Function
Run Code Online (Sandbox Code Playgroud)

我只是找不到结合两种计数条件的方法.任何帮助将非常感激!

excel vba worksheet-function excel-vba

8
推荐指数
2
解决办法
4万
查看次数

使用Excel VBA按列值对工作表数据进行排序

我在vba中开发了下一个userform,它从工作表中获取信息以显示信息

在此输入图像描述

我想通过Segment以字母方式订购所有信息,这是代码:

Function llenarDatosTabla()

    Dim vList As Variant
    Dim ws As Worksheet: Set ws = Worksheets(BD_PRODXSIST)

    ListBox1.Clear

    With ws
        If (IsEmpty(.Range("AA2").Value) = False) Then

            Dim ultimoRenglon As Long: ultimoRenglon = devolverUltimoRenglonDeColumna("A1", BD_PRODXSIST)

            vList = ws.Range("AA2:AA" & ultimoRenglon & ":AL2").Value

            If IsArray(vList) Then
                Me.ListBox1.List = vList
            Else
                Me.ListBox1.AddItem (vList)
            End If

        End If

        Me.ListBox1.ListIndex = -1

    End With




    Set vList = Nothing
    Set ws = Nothing
End Function
Run Code Online (Sandbox Code Playgroud)

如何通过'AD'(SEGMENTO)专栏订购???

sorting excel vba worksheet-function excel-vba

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

"公式忽略相邻单元格"的解决方法

在Excel中,具有以下功能:

=IF(AND(N3=1,ISNUMBER(D3),ISNUMBER(E3)),SUM(D3:E3)-2,IF(AND(N3=1,D3="",E3=""),G3,IF(N3=1,"",IF(AND(N3=0,ISNUMBER(D3)),D3-1,IF(AND(N3=0,ISNUMBER(E3)),E3-1,IF(AND(N3=0,D3="",E3=""),G3,IF(N3="","",G3)))))))
Run Code Online (Sandbox Code Playgroud)

我收到错误:

公式省略了相邻的单元格

如何修复公式以避免出错?

excel worksheet-function

8
推荐指数
1
解决办法
3万
查看次数