国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

動(dòng)態(tài)求和怎么操作 excel filter如何求和?

excel filter如何求和?Office版是365預(yù)覽體驗(yàn)版,引入了動(dòng)態(tài)數(shù)組的概念。寫數(shù)組公式時(shí),不需要以三個(gè)鍵結(jié)尾,所以公式兩端沒有{}。第一個(gè)是常規(guī)的sumifs多條件求和函數(shù),寫起來很簡(jiǎn)單

excel filter如何求和?

Office版是365預(yù)覽體驗(yàn)版,引入了動(dòng)態(tài)數(shù)組的概念。寫數(shù)組公式時(shí),不需要以三個(gè)鍵結(jié)尾,所以公式兩端沒有{}。

第一個(gè)是常規(guī)的sumifs多條件求和函數(shù),寫起來很簡(jiǎn)單。

二是使用lookup函數(shù)進(jìn)行多條件查找,然后使用iferror處理錯(cuò)誤值。

三是多條件求和的帶求和函數(shù)的數(shù)組公式的編寫。

第四種是使用vlookup嵌套if進(jìn)行多條件查找,然后使用iferror處理錯(cuò)誤的數(shù)組公式。

第五個(gè)sumproduct函數(shù)的正規(guī)書寫。

第六個(gè)索引嵌套匹配進(jìn)行多條件查找,然后使用iferror處理。

第七種是多條件求和的sum和if的寫法,這種用法的延伸就是可以使用textjoin和if進(jìn)行一對(duì)多搜索。

第八個(gè)過濾公式暫時(shí)是預(yù)覽體驗(yàn)版獨(dú)有的功能,可用于一對(duì)多搜索或多條件搜索。

sum和switch的第九種嵌套用法,switch也是365和2019的新功能。其實(shí)開關(guān)功能挺好玩的??梢杂胻

加載動(dòng)態(tài)連接庫文件失敗該如何解決?

第一步,我從一個(gè)簡(jiǎn)單的調(diào)用開始,定義一個(gè)簡(jiǎn)單的函數(shù),這個(gè)函數(shù)只實(shí)現(xiàn)了一個(gè)整數(shù)加法和:

LIBEXPORT_API int mySum(int a,int b){ return a b;}

C#導(dǎo)入定義:

公共類RefComm

{

[DllImport(LibEncrypt.dll,

入口點(diǎn)mySum,

字符集,調(diào)用約定)]

public static extern int mySum(int a,int b);

}

在C#中調(diào)用測(cè)試:

int iSum(,);

運(yùn)行查看iSum的結(jié)果是5,調(diào)用是正確的。實(shí)驗(yàn)第一步完成,表明在C#中可以調(diào)用用戶自定義的動(dòng)態(tài)鏈接庫函數(shù)。

第二步,我定義了字符串操作的函數(shù)(為了簡(jiǎn)單起見,我還是用之前的函數(shù)名),返回結(jié)果是字符串:

LIBEXPORT_API char *mySum(char *a,char *b){sprintf(b,s,a);返回a;}

C#導(dǎo)入定義:公共類RefComm

{

[DllImport(LibEncrypt.dll,

入口點(diǎn)mySum,

字符集,

通話約定)]

public static extern string mySum(字符串a(chǎn),字符串b);

}

在C#中調(diào)用測(cè)試:

字符串strDest

string strTmp (45,strDest);

運(yùn)行視圖的結(jié)果是strTmp 45,但是strDest是空的。我修改動(dòng)態(tài)鏈接庫的實(shí)現(xiàn),返回結(jié)果是字符串b:

LIBEXPORT_API char *mySum(char *a,char *b){sprintf(b,s,a)return b;}

修改C# import的定義,將字符串B改為ref模式:

公共類RefComm

{

[DllImport(LibEncrypt.dll,

入口點(diǎn)mySum,

字符集,調(diào)用約定)]

public static extern string mySum(string a,ref string b);

}

用C#再次調(diào)用測(cè)試:

字符串strDest

string strTmp (45,ref strDest);

strTmp和strDest都不正確,并且包含不可見的字符。然后修改C# import的定義,將CharSet從Auto改為Ansi:

公共類RefComm

{

[DllImport(LibEncrypt.dll,

入口點(diǎn)mySum,

字符集,調(diào)用約定)]

public static extern string mySum(字符串a(chǎn),字符串b);

}

用C#再次調(diào)用測(cè)試:

字符串strDest

字符串strTmp RefComm。mySum(45,參考strDest);

運(yùn)行視圖的結(jié)果是strTmp 45,但是字符串strDest沒有賦值。第二步是意識(shí)到函數(shù)返回了一個(gè)字符串,但未能在函數(shù)出口參數(shù)中輸出它。再次修改C#導(dǎo)入定義,修改字符串B作為引用(ref):

公共類RefComm

{

[DllImport(LibEncrypt.dll,

入口點(diǎn)mySum,

字符集,調(diào)用約定)]

public static extern string mySum(string a,ref string b);

}

運(yùn)行時(shí)調(diào)用失敗,執(zhí)行無法繼續(xù)。

第三步,修改動(dòng)態(tài)鏈接庫的實(shí)現(xiàn),將B改為雙指針:

LIBEXPORT_API char *mySum(char *a,char **b){sprintf((*b),s,a);return * b;}

C#導(dǎo)入定義:

公共類RefComm

{

[DllImport(LibEncrypt.dll,

入口點(diǎn)mySum,

字符集,調(diào)用約定)]

public static extern string mySum(string a,ref string b);

}

在C#中調(diào)用測(cè)試:

字符串strDest

字符串strTmp RefComm。mySum(45,參考strDest);

運(yùn)行查看的結(jié)果是strTmp和strDest都是45,調(diào)用正確。第三步實(shí)現(xiàn)函數(shù)出口參數(shù)的正確輸出結(jié)果。

第四步,修改動(dòng)態(tài)鏈接庫的實(shí)現(xiàn),實(shí)現(xiàn)整數(shù)參數(shù)的輸出:

LIBEXPORT_API int mySum(int a,int b,int * c){ * ca b;return * c;}

C#導(dǎo)入的定義:

公共類RefComm

{

[DllImport(LibEncrypt.dll,

入口點(diǎn)mySum,

字符集,調(diào)用約定)]

public static extern int mySum(int a,int b,ref int c);

}

在C#中調(diào)用測(cè)試:

int c0

int iSum RefComm。mySum(,,ref c);

運(yùn)行查看的結(jié)果是iSum和C都是5,調(diào)用正確。

經(jīng)過以上步驟的實(shí)驗(yàn),我基本掌握了如何定義動(dòng)態(tài)庫函數(shù),如何在C#中定義import。在此基礎(chǔ)上,我很快實(shí)現(xiàn)了C#中變長(zhǎng)加密函數(shù)的調(diào)用,目標(biāo)達(dá)到了。

三。結(jié)論

在C#中調(diào)用C編寫的動(dòng)態(tài)鏈接庫函數(shù)時(shí),如果需要輸出導(dǎo)出參數(shù),需要使用指針,需要使用字符串的雙指針,需要使用C#的導(dǎo)入定義的引用(ref)定義。

對(duì)于函數(shù)返回值,C#導(dǎo)入定義和C動(dòng)態(tài)庫函數(shù)聲明定義需要一致,否則函數(shù)調(diào)用會(huì)失敗。在定義導(dǎo)入時(shí),一定要注意CharSet和CallingConvention參數(shù),否則調(diào)用會(huì)失敗或者結(jié)果會(huì)異常。運(yùn)行時(shí),動(dòng)態(tài)鏈接庫可以放在C#程序的目錄下。我這里有一個(gè)C#動(dòng)態(tài)鏈接庫,兩個(gè)動(dòng)態(tài)鏈接庫運(yùn)行在同一個(gè)目錄下。