5

我的任务是弄清楚这是否可行。我以前没有见过这种类型的语言/公式,当我在网上浏览这些公式时,我似乎找不到任何关于每个函数的具体定义。该工作簿有 3 张工作表:查询表、数据表和 Macro1。这些出现在 Macro1 上。

找到一个 API、帮助或其他东西来解决这个问题会很好。

Cmd ExtractData (a)
    =DEFINE.NAME("Criteria",'Query Sheet'!P1:W2)
    =DEFINE.NAME("Extract",'Query Sheet'!$A$7:$N$7)
    =DEFINE.NAME("Database",'Data Sheet'!Database)
    =EXTRACT(FALSE)
    =IF(ISBLANK(!A8))
    =  SELECT("r8c1")
    =  FORMULA("No Match Found")
    =ELSE()
    =  SELECT("r7c1")
    =  SELECT.END(4)
    =  ROW(ACTIVE.CELL())
    =  FORMULA.FILL("=Serr_(RC[-9],RC[-8],RC[-7],RC[-6],RC[-3],RC[-2],RC[-1])","R8C14:R"&TEXT(B13,0)&"C14")
    =  SELECT("R8C1:R"&TEXT(B13,0)&"C14")
    =  IF(mSTB="U")
    =    SORT(1,"R8C9",2,"R8C14",1)
    =  ELSE.IF(mSTB="S")
    =    SORT(1,"R8C9",1,"R8C14",1)
    =  ELSE()
    =    SORT(1,"R8C14",1)
    =  END.IF()
    =  SELECT("R8C1")
    =END.IF()
    =RETURN()
    
Fctn    SErr_
    =RESULT(1)
    =ARGUMENT("Acet",1)
    =ARGUMENT("Agar",1)
    =ARGUMENT("PH9",1)
    =ARGUMENT("PH6",1)
    =ARGUMENT("IEF",1)
    =ARGUMENT("Short",1)
    =ARGUMENT("Long",1)
    =VarM_(!mAcet,Acet)
    =VarM_(!mAgar,Agar)
    =VarM_(!mPH9,PH9)
    =VarM_(!mPH6,PH6)
    =VarM_(!mIEF,IEF)
    =VarM_(!mShort,Short)
    =VarM_(!mLong,Long)
    =RETURN(SUMSQ(B36:B42))
    
    
Fctn    VarM_
    =RESULT(1)
    =ARGUMENT("mNT",3)
    =ARGUMENT("sN",1)
    =IF(OR(ISTEXT(mNT),sN= -99),RETURN(0), RETURN(mNT-sN))
4

1 回答 1

5

这在 Excel 中称为“V4 宏”。它们来自 Excel V4(Excel 2010 是 V14),它们已被弃用但仍可运行。

这些 V4 宏在这里有一个旧的帮助文件:http: //support.microsoft.com/kb/128185

您可以下载并安装它,但结果是一个 WinHelp 文件,它也是过时的,并且不再在 Windows 中开箱即用。如果您可以让 WinHelp 阅读器工作,您应该能够使用它来弄清楚这里发生了什么。MS 说他们有 WinHelp 阅读器可以通过 Windows 8 下载,但我无法让 Windows 7 版本为我工作。


也就是说,对我来说,这里使用的大多数命令似乎很清楚:

DEFINE.NAME(name,range)    Defined a Named Range
EXTRACT(False)             Probably writes FALSE to the "Extract" named range
IF(..), ELSE()             Implements an "If..Then..Else.."
SELECT(range)              Selects the cell or range indicated
SELECT.END(4)              Selects to the end of something (row, column or sheet?)
FORMULA(string)            Write the string to the selection as it's formula
FORMULA.FILL("<<formula>>",range)
                           Autofills the formula to the range.  Uses R1C1 addressing.
SORT(..)                   Probably invokes the Excel Data Sort
RETURN()                   Ends the Command and returns
RETURN(expression)         Ends the function and returns the value of the expression

ARGUMENT("name",number)    Assigns names to the functions parameters in order.
                           (no idea what the number does here)

几乎所有其他内容都是 Excel 公式函数,因此您仍然可以查找它们。

于 2013-10-14T14:31:54.127 回答