【问题标题】:Continuous numbering with blanks - multiple worksheets带空格的连续编号 - 多个工作表
【发布时间】:2015-01-20 01:35:24
【问题描述】:

在 Sheet1 中,我有 50 个单元格用于编号(B 列),我的公式是 =IF(ISTEXT(C9),B8+1,"").

总会有 50 行,如果 C 列中没有文本,有些可能会保持空白。

我想继续在 Sheet3 上编号,一直到 sheet20。所以,如果 Sheet1 实际上以 10 号结束,我希望 sheet3 继续编号为 11,如果 sheet 3 结束于 20 号,我希望 sheet4 继续编号为 21,依此类推。

我尝试了多个公式,但因为有空格而遇到困难。非常感谢您的帮助!

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    使用“MAX”获取较大的数字,使用“INDIRECT”查看最后一张。因此,假设您在工作表上使用默认名称,请先获取当前工作表名称:

    A1=REPLACE(CELL("filename"),1,FIND("]",CELL("filename")),"")
    

    然后获取工作表#。

    A2=RIGHT(A1,LEN(A1)-5)*1
    

    乘以 1 得到数字而不是文本。现在我们可以得到以前的工作表名称:

    A3="Sheet"&A2-1
    

    现在使用 Indirect 来获取上一张表 C 列中的最大值:

    A4=MAX(INDIRECT(A3&"!C:C"))
    

    如果我们结合它,我们得到:

    =MAX(INDIRECT("Sheet"&RIGHT(REPLACE(CELL("filename"),1,FIND("]",CELL("filename")),""),LEN(REPLACE(CELL("filename"),1,FIND("]",CELL("filename")),""))-5)*1-1&"!C:C"))
    

    只要您的数据从第 2 行开始(即您有标题),这里也是完整的公式:

    =IF(ISTEXT(C2),IF(OR(ROW()=2,IF(ROW()=2,TRUE,MAX(INDIRECT("B2:B"&ROW()-1))=0)),MAX(INDIRECT("Sheet"&RIGHT(REPLACE(CELL("filename"),1,FIND("]",CELL("filename")),""),LEN(REPLACE(CELL("filename"),1,FIND("]",CELL("filename")),""))-5)*1-1&"!C:C"))+1,MAX(INDIRECT("B2:B"&ROW()-1))+1),"")
    

    【讨论】:

    • 非常感谢,成功了!!我什至没有想到使用 MAX。我能够将公式浓缩为 =MAX(Sheet1!B9:B58)+IF(ISTEXT(C9),1,"")。再次感谢! @Gerino
    • 没问题! :) 请标记为答案——这里还很新,需要声誉!
    【解决方案2】:

    一种方法是将:=IF(ISTEXT(C4),COUNT(Sheet1!B4:B13)+1,"") 放在 Sheet2 的第一个单元格中,然后在下面的所有单元格中重复使用 =IF(ISTEXT(C5),B4+1,"")

    如果您希望所有单元格都使用相同的公式,您可以将 COUNT 移动到第一个数据上方的隐藏行。

    然后你对下一张做同样的事情,只是改变命名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-31
      • 2011-04-21
      • 1970-01-01
      • 2018-04-12
      • 1970-01-01
      • 2015-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多