Excel高手請進,問你們個公式

2022-03-12 11:19:08 字數 2835 閱讀 4569

1樓:朱薈非

問題2=max(offset(a1,max(if(abs(a1:b4)=max(abs(a1:b4)),row(a1:

b4)))-1,max(if(abs(a1:b4)=max(abs(a1:b4)),column(a1:

b4))),,2))

問題4=max(offset(a1,max(if(abs(c1:d4)=max(abs(c1:d4)),row(c1:

d4)))-1,max(if(abs(c1:d4)=max(abs(c1:d4))-2,column(c1:

d4))),,2))

這兩個都是陣列公式,ctrl+shift+enter結束

2樓:匿名使用者

經測試,朱薈非的答案存在兩個問題,第一個問題,問題2,如果最大值在第一列,第二次取值時是取的第2,3列的最大值,第二個問題,第二次取值直接使用的max,不是絕對值最大的

第一個問題,照他的思路應該是

=max(offset(a1,max(if(abs(a1:b4)=max(abs(a1:b4)),row(a1:b4)))-1,2,,2))

不用判斷列位置,直接用2即可。如果判斷了列在第1列,計算的就是2,3列的值了。公式d的-2位置不對,存在邏輯錯誤,始終返回的列值為0【除非剛好有一個值等於最大絕對值-2】,使公式結果像是正確的,像上行公式直接使用2一樣,不用判斷,直接用0即可

此部分和以下公式等效。

=max(indirect("r"&--right(max(abs(a1:b4)*10+row(a1:b4))),0) c:d)

第二次要取絕對值的話,b和d的公式分別為

=index(indirect("r"&--right(max(abs(a1:b4)*10+row(a1:b4))),0) c:

d,--right(max(abs(indirect("r"&--right(max(abs(a1:b4)*10+row(a1:b4))),0) c:

d)*10+)))

=index(indirect("r"&--right(max(abs(c1:d4)*10+row(c1:d4))),0) a:

b,--right(max(abs(indirect("r"&--right(max(abs(c1:d4)*10+row(c1:d4))),0) a:

b)*10+)))

均為陣列公式

公式主要長在這一塊要用兩次

indirect("r"&--right(max(abs(a1:b4)*10+row(a1:b4))),0) c:d

這一塊如果不好理解的話,可以用朱薈非的

offset(a1,max(if(abs(a1:b4)=max(abs(a1:b4)),row(a1:

b4)))-1,2,,2),如果你的行號不只是1位數的話,儘量用此方法,--right方法要相容多位數的行號,需要把*10擴大,right新增第2引數,如--right(max(abs(a1:b4)*10000+row(a1:b4)),4)

總結:取得行號的兩種方式:

1、max(if(abs(a1:b4)=max(abs(a1:b4)),row(a1:b4)))

2、--right(max(abs(a1:b4)*100000+row(a1:b4)),4)

通過此行號取得第二次的區域方法:

1、b=offset(a1,行號-1,2,,2);d=offset(a1,行號-1,0,,2)

2、b=indirect("r"&行號,0) c:d;d=indirect("r"&行號,0) a:b

注意:c:d前有空格

3樓:

題目很有意思,跟你學習一下,把a和c的公式貼出來吧,一塊研究

excel高手請進,!!!!!!!!!!!!!!

4樓:退休畫線工

e2中輸入公式:

=d2*c2/sumif($a$2:$a$16,a2,$c$2:$c$16)

下拉自己根據資料行數修改公式中的$16到實際行數。

5樓:匿名使用者

是不是這樣的?

如果是,就選中想要修改的單元格,點選右鍵選擇 『設定單元格格式』,

開啟以後選擇上面選單欄第二項『對齊』找到下面的『自動換行』點選小方塊,打上對勾,然後點選『確定』,就ok了,如下圖:

6樓:獨立寒秋

這應該是邊框的關抄系,其襲實輸入時顯示的bai狀態並不代表列印時的狀

du態zhi,只要確定自己沒

dao有修改過其他單元格格式,就可以無視了,如果是自己建立的新**,建議輸入時先不要排版,資料完整以後再排版,最終使用列印預覽檢視實際邊框和字型等狀態。

7樓:夜魅浮幽

單元格太小了,把行距調高點,試試

excel公式高手請進呀,解決問題後再加分!!! 30

8樓:匿名使用者

你要固定成=a5,則在5前加「$」。即=a$5,或=$a$5

9樓:匿名使用者

我懂你的意思了,你可以這樣做啊:用indirect函式,在編輯欄中輸於這樣的公式:indirect("x"&b4),x代表列標,a、b、c、d等,後面的b4代表引用地址,就是你想用來做列標的數字的存放地址了,你是這個意思吧

10樓:匿名使用者

=concatenate("a",b1)

輸入這個就可以了!!!

你試一試啊!!

11樓:匿名使用者

新增一列值全為a的欄位,使用concatenate函式將新增列的值與原有數值合併為一個新值!

excel高手請進用公式實現指定行指定列的資料

如果將列號改為數字 則在c2輸入 index 1 1000,a1,b1 這從1 1000行的所有資料都可以了 補充 更精彩答案 這裡假設a1寫行,b1裡寫列,c1寫公式,則 1 如果列用字母表示 indirect b1 a1 解釋 indirect,返回由文字字串指定的引用。詳見幫助。2 如果都用數...

excel高手請進

如果你是想把234和14變成23414,就這樣,假如234的單元格是a1,在b1中輸入 a1 14 就可以了,如果想變成14234,只要 14 a1 希望對你有所幫助,還有就是這樣就會變成文字,不能帶入公式進行計算,要想進行計算只需 value b1 就可以了。不知道我有沒有看懂你的意思,你的意思就...

EXCEL程式設計高手請進,求 EXCEL 高手來 是高手的來

如何用excel程式設計 你這題目問的太大了。也可以回答你atl f11調出vbs介面進行程式設計還可以回答你錄製巨集,然後按照你的要求增減 當然,程式設計的前提是你對vba足夠了解。按alt f11開啟vbe器,在裡面編寫。excel程式設計怎麼做 開啟excel的visual basic器,輸入指令即可。求 ex...