excel表格中在每列的最后一格没有数据的地方自动求和

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel表格中在每列的最后一格没有数据的地方自动求和相关的知识,希望对你有一定的参考价值。

比如C列,我在C列输入数据但是我也不自动我会输到那个地方,让它自己在我最后一个输数据的下一格自动把输入的数据全部求和。我想的是用循环判断语句,但是我不会,依次判断C列,不成立继续判断下个数据,成立就求和上面的所有的数据。

两种思路吧

    在输入数据的时候就求和。在输入完一列数据的时候,选中往下的那个空单元格,按一下ALT+=,自动将上面所有数据求和。


    输完数据后在求和。使用VB:


    Sub 求和()
    i = 1
    Do While Cells(1, i) <> ""
    k = Cells(65536, i).End(xlUp).Row
    Debug.Print k
    Cells(k + 1, i).FormulaR1C1 = "=SUM(R[" & (-k) & "]C:R[" & (-1) & "]C)"
    Cells(k + 2, i).Select
     i = i + 1
    Loop
    End Sub




    如下图,黄色区域为源输入数据区域,运行后自动在下一个空单元格生成数据







个人建议还是采用第一种吧,毕竟这就相当于一列里面多输入一个数据而已,不小心点了匿名了···

参考技术A 在数据列的最后空格显示合计,不容易,在输入新数据,就要删除原有的公式。
建议:在数据列的右侧,做公式。假设数据在C列,从AC开始。在D3做公式,=IF(D3="","",SUM(C$2:C3))。公式意思是如果C3是空格,就显示空格,否则就合计C2C3。
公式完成后,把公式下拉,在C4、C5......输入数据,D列就会显示合计值了。

每行每列的最小元素

【中文标题】每行每列的最小元素【英文标题】:Minimum element on each row and column 【发布时间】:2016-03-03 08:07:06 【问题描述】:

这听起来可能很愚蠢,但我无法让它发挥作用。 在读取了矩阵有多少行和多少列之后,我试图在每行上显示最小元素,然后在每列上显示最小元素。

我的代码看起来像这样,但有时它会抛出一个 IndexOutOfBoundsException,有时它只是不显示列的最小值,只显示行。

行的代码是这样的

public static void minRand(int[][] n) 

    int[] result = new int[n.length];
    int min = 0;


    for (int i = 0; i < n.length; i++) 
        for (int j = 0; j < n[0].length; j++) 
            if (n[i][j] < n[i][min]) 
                min = j;
            
            result[i] = n[i][min];
        
        System.out.println("Minimum on line " + i + " is " + result[i]);
    


列的代码不起作用是

public static void minCol(int[][] n) 

    int[] result = new int[n[0].length];
    int min = 0;

        for (int i = 0; i < n.length; ++i) 
            min = Integer.MAX_VALUE;
            for (int j = 1; j < n[i].length; ++j)
                if (n[j][i] < min)
                    min = n[j][i];
            System.out.println("Minimum on column no " + i + " is " + min);
        


如果我给它 3 行 4 列,控制台会显示:

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
        at Principal.minCol(Principal.java:103)
        at Principal.afisareMeniu(Principal.java:196)
        at Principal.main(Principal.java:13)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

Minimum on line 0 este 0
Minimum on line 1 este 0
Minimum on line 2 este 0

它是 0,因为我没有初始化矩阵,但每行的最小值有效。

还有。如果我给它一个方阵,行和列的最小值都有效。 我究竟做错了什么?

【问题讨论】:

【参考方案1】:
// Minimum in Column
 public static void colMin(double[][] n)
    double[] result = new double[n.length];
    double min = 0;
    System.out.println("Column min values: ");
    for (int i = 0; i < n.length; ++i) 
        min = Integer.MAX_VALUE;
        for (int j = 1; j < n[i].length; ++j)
            if (n[j][i] < min)
                min = n[j][i];
                result[i] = min;
            

        System.out.printf("%.2f ", result[i]);
        System.out.println();
    


只需将您计算的最小值分配给 result[i],如我的代码中所示。 并显示。

干杯。

【讨论】:

这行得通,但我想通了。我正在考虑将行数作为列数,反之亦然。感谢您的努力

以上是关于excel表格中在每列的最后一格没有数据的地方自动求和的主要内容,如果未能解决你的问题,请参考以下文章

excel如何计算一列数字的总和?

表格怎么设置每一列自动求和

如何遍历一个DataTable中的每行每列,并且为每行每列的最后一列赋值

如何控制Listview每列的宽度自适应这列最长的内容

excel中如何快速设置每行每列的宽度

excel中如何计算一列数据的和