通達信if函式IF 1,A 1,0這句話該怎麼理解?如果1則返回A 1,否則是

2021-04-22 06:12:51 字數 3983 閱讀 6953

1樓:股時候文化傳媒

1 是布林值 真,表示條件成立 等效於 1=1

通達信公式編寫

2樓:匿名使用者

算術函式if(邏輯判斷)語句相當於我們平時所說的」如果.....那麼「。

if---根據條件求不同的值.

用法:if(x,a,b)若x不為0則返回a,否則返回b例如:if(close>open,high,low)表示該週期收陽則返回最高值,否則返回最低值

時間函式hour---小時

取得該週期的小時數.

用法:hour

函式返回有效值範圍為(0-23),對於日線及更長的分析週期值為0;

minute---分鐘

取得該週期的分鐘數.

用法:minute

函式返回有效值範圍為(0-59),對於日線及更長的分析週期值為0

excel請解釋這段函式=index(c:c,small(if($b$1:$b$1000=$j$1,row($b$1:$b$1000),4^8),row(a1)))&""

3樓:立港娜娜

1、index(c:c,x)取c列第x單元。

2、small(a,b)取陣列a中第b小的值。

3、if(a,b,c)a為真取b值,a為假,取c值。

4、row(a1)取a1的行號即1,往下拉變row(a2)=2,用這個的目的就是在公式下拉時產生一個序列數。

5、&""數字轉文字,在這裡的作用是避免公式下拉超過最後一個可提取資料時在單元格內產生0。

6、本公式為陣列公式,需按ctrl+shift+enter完成輸入。

7、4^8即4的8次方=65536。

8、本公式作用是提取b列等於j1對應的c列值。

則返回的結果是:如果b列1到1000行中有資料等於j1單元格的值,則d1中顯示b列中第1個等於j1的單元格所在行的c列單元格的值,d2中顯示b列中第2個等於j1的單元格所在行的c列單元格的值,依次類推。

4樓:百無生

4.row(a1):返回的結果是第一行的行號,也就是等於1。當向下復

制時,會變成row(a2),row(a3)等,返回2,3等,一般用作取序號。

3.if($b$1:$b$1000=$j$1,row($b$1:

$b$1000),4^8):如果b列1到1000行中有資料等於j1單元格的值,則返回該行的行號,否則返回4的8次方,一個很大的數,65536。

2.small(array, k):返回資料集中第 k 個最小值。

使用此函式可以返回資料集中特定位置上的數值。例如small(a2:a10,4) 返回a列中第四個最小值,small(b2:

b10,2)返回b列中第二個最小值。

1.index(array, row_num, [column_num]):返回**或陣列中的元素值,此元素由行號和列號的索引值給定。

index(c:c,k)返回的是c列k行單元格的值。

最後的&""將index公式的計算結果轉換為文字值。

這個公式是陣列公式,需要使用shift+ctrl+enter來輸入。

巢狀起來,設d1=index(c:c,small(if($b$1:$b$1000=$j$1,row($b$1:

$b$1000),4^8),row(a1)))&"",然後向下複製到d1000,則返回的結果是:

如果b列1到1000行中有資料等於j1單元格的值,則d1中顯示b列中第1個等於j1的單元格所在行的c列單元格的值,d2中顯示b列中第2個等於j1的單元格所在行的c列單元格的值,依次類推

5樓:第七次要分

瞭解函式應該由內而外

:row(a1):a1單元格的行號,即1,下拉得到2.3.4……

if():=if(條件,條件成立返回結果,不成立返回結果),如果b1:b1000的值與j1相等,則返回row(b1:

b1000),可用簡寫為row(1:1000),就是(1.2.

3…….1000),不相等就返回4^8(4的8次方65536,就是讓他返回一個很大的數);

small():求第幾小的數,上一個if函式得到了b1:b1000中與j1相等的所有單元格行號,第一個單元格=small(行號,row(a1)),就是求這些行號中第1小的行號,下拉得到第2.

3.4小的行號;

index函式:求得c列,第n個數值,這個第n個就是small的結果;

最後又「&""」:由於不相等返回的是第65536行,肯定是空的(相當於0),b列不等於j1就返回的0值,加上這個就不顯示了,使計算結果區域美觀。

6樓:中國月陽科技

index(),是返回特定區域,第幾行 第幾列的值

例如,index(b2:c6,1,1)就是返回b2:c6這個區域,第1行,第1列的值,也就是b2的值。

small(),是返回比較區域中的第n個較小值。

例如small(a1:b3,2)是返回a1:b3,這個區域中的第2個較小值

if()是條件判斷,有三個引數,第一個是條件,第二個是如果為真是的值,第三個是如果條件為假時的值。

row()是求行號

其實你這個公式是錯誤無意義的。簡單的事搞的複雜化了。

先從if裡面開始,if($b$1:$b$1000=$j$1,row($b$1:$b$1000),4^8),條件是$b$1:

$b$1000=$j$1 實際上等同於判斷b1=j1,這樣寫沒有意義。

如果為b1=j1,則求row($b$1:$b$1000),這樣寫也沒有意義,實際求出來的是b1的行號,結果是1 。如果b1不等於j1,則結果是4的8次方,就是65536。

small(if(),row(a1)) = small(if(),1)

if判斷出來,要麼等於1,要麼等於65536,就只有一個值,再small()也沒有意義。

簡化以後的結果,如果b1=j1

index(c:c,1),就是c1的值

如果b1<>j1 ,index(c:c,65536),就是c65536的值,

如果是這樣的話,直接用一個if()就搞定了。

if(b1=j1,c1,c65536)

7樓:魚木混豬

首先這是個陣列公式,(所以c:c)實現的功能是:如果b列中的數值等於j1單元格的,則依次生成b列對應的c列的資料。

先解釋row(a1),這個函式是生成1.2.3.4這樣一個序列,a1是相對引用,row(a1)是a1的行號,也就是1;往下拖就是a2,行號是2,以此類推

if函式,是假設b1(依次至b1000)等於j1,那麼就返回b1的行號(row(b1)),假設不等於,則放回4^8(65536,excel最大行號)

small函式是將if函式的結果排序,也就是實現只要b1等於j1,則行號(1-1000)以此排在最前面;如果不等於,則行號(65536)排在後面;

index函式,返回c列對應的行號(也就是small函式排序後的前最多1000個行號)對應的值

如果還是不懂,建議先去了解下陣列公式

8樓:學徒

你這個是一次多個重複查詢值引用的函式

c列是返回值,對應的條件是b列=j列

index函式的意思是返回資料清單或陣列中的元素值,此由元素由行號和列號的索引值給定

small是返回集合中的最小值

if是如果如果b1:b1000=j1,返回他的行號,否則返回 4^8是老版的excel最大行數

9樓:匿名使用者

index 返回**中的元素值,此元素由行序號和列序號的索引值給定。

index(array,row_num,column_num),array 為單元格區域,就是c:c。

small取排列的值,按有小到大的順序,第幾個位置的資料。

if 如果在b1至b1000中有j1對應的資料,則返回b1至b1000中該資料的行號,否則返回65535.

所以解釋為

從c列中找到一個數,index中的行號是b1至b1000中與j1相同的數值的行號,如果沒有就取65535,列數取a1的值。

幫忙編通達信選股公式要求1,股價過5日,10日,20日

dif ema close,12 ema close,26 coloryellow dea ema dif,9 colormagenta macd dif dea 2,colorligray lb dynainfo 17 va if close ref close,1 vol,vol obv sum...

通達信返回函式值02和01是什麼意思

意思是在判斷,當前品種如果是三板就輸出0.2如果是非三板就輸出0.1 一般 會輸出0.1 因為ztprice ref c,1 0.1 c代表當日漲停.finance 3 4 為科創板,漲停值0.2,非科創板漲停值0.1 通達信返回 函式值0 和1是什麼意思 rsv close llv low,9 h...

請高手幫忙寫通達信的選股公式要求10日20日

ma10 ma c,10 ma20 ma c,20 ma30 ma c,30 ma60 ma c,60 condtion a max max max ma10,ma20 ma30 ma60 condtion b min min min ma10,ma20 ma30 ma60 condtion con...