計(jì)量論壇

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
打印 上一主題 下一主題

[討論] 保留位數(shù)EXCEL實(shí)現(xiàn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
wangyiyong7703 發(fā)表于 2023-9-16 01:00:30 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
A2輸入待修約數(shù)字,B2輸入保留小數(shù)點(diǎn)位數(shù),C2輸入公式

IF(B2=0,IF(OR(AND(ISEVEN(INT(A2)),A2-INT(A2)=0.5),A2-INT(A2)<0.5),INT(A2),INT(A2)+1),IF(LEN(IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2)))=LEN(INT(A2)),IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2))&"."&REPT("0",B2),IF(LEN(INT(A2*POWER(10,B2)))+1>LEN((IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2)))),(IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2)))&REPT("0",LEN(INT(A2*POWER(10,B2)))-1-LEN((IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2))))),IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2)))))

保留多少位小數(shù)點(diǎn).xlsx

9.49 KB, 下載次數(shù): 60, 下載積分: 金幣 -1

78#
jealsipi 發(fā)表于 前天 09:53 | 只看該作者
看起來 好復(fù)雜
77#
 樓主| wangyiyong7703 發(fā)表于 2025-6-27 09:28:04 | 只看該作者
我要吃板面 發(fā)表于 2025-6-21 17:29
直接選擇保留小數(shù)位默認(rèn)的應(yīng)該是四舍五入吧  也沒人查這個(gè)

這個(gè)是基本概念,可大可小的問題
76#
 樓主| wangyiyong7703 發(fā)表于 2025-6-27 09:26:03 | 只看該作者
靜心養(yǎng)氣 發(fā)表于 2025-6-20 08:46
公式太長沒有應(yīng)用的意義。除非特定的超高細(xì)度精確計(jì)算,一般情況ROUNDBANK足夠用,當(dāng)然ROUNDBANK存在位數(shù)為 ...

對(duì)于操作來說,沒有長短之分,復(fù)粘即可。正是之前的公式不滿意才想到要完善。其實(shí)可以用vb自定義函數(shù)的,這樣用起來,不必要知道編碼了。
75#
步云風(fēng) 發(fā)表于 2025-6-23 21:39:59 | 只看該作者

感謝分享,下載看看
74#
我要吃板面 發(fā)表于 2025-6-21 17:29:32 | 只看該作者
直接選擇保留小數(shù)位默認(rèn)的應(yīng)該是四舍五入吧  也沒人查這個(gè)
73#
靜心養(yǎng)氣 發(fā)表于 2025-6-20 08:46:02 | 只看該作者
公式太長沒有應(yīng)用的意義。除非特定的超高細(xì)度精確計(jì)算,一般情況ROUNDBANK足夠用,當(dāng)然ROUNDBANK存在位數(shù)為0時(shí)不顯示0的問題,不夠優(yōu)化,但可以通過設(shè)置數(shù)字位數(shù)來實(shí)現(xiàn)。
最終還是為了更普適的應(yīng)用,不是為了秀特例的技巧。
72#
 樓主| wangyiyong7703 發(fā)表于 2025-1-4 15:25:06 | 只看該作者

一般不是超長的數(shù)值,這個(gè)足以應(yīng)付了

本帖最后由 wangyiyong7703 于 2025-1-4 15:26 編輯
銀光戰(zhàn)火 發(fā)表于 2024-12-23 15:18
我的天爺啊,兩位大神中的大神,我記得wps里有個(gè)公式roundbanke,就是四舍六入五留雙啊 ...


IF(OR(AND(ISEVEN(MID(A2,FIND(".",A2)+B2,1)*1),MID(A2,FIND(".",A2)+B2+1,1)="5",IFERROR(RIGHT(A2,LEN(A2)-FIND(".",A2)-B2-1)*1,0)=0),MID(A2,FIND(".",A2)+B2+1,1)*1<5),LEFT(A2,FIND(".",A2,1)+B2),IF(IFERROR(FIND(".",LEFT(A2,FIND(".",A2,1)*1+B2)*1+IF(A2*1<0,-1,1)/POWER(10,B2),1),0)=0,LEFT(A2,FIND(".",A2,1)*1+B2)*1+IF(A2*1<0,-1,1)/POWER(10,B2)&"."&REPT("0",B2),LEFT(A2,FIND(".",A2,1)*1+B2)*1+IF(A2*1<0,-1,1)/POWER(10,B2)&REPT("0",B2-(LEN(LEFT(A2,FIND(".",A2,1)*1+B2)*1+IF(A2*1<0,-1,1)/POWER(10,B2))-IFERROR(FIND(".",LEFT(A2,FIND(".",A2,1)*1+B2)*1+IF(A2*1<0,-1,1)/POWER(10,B2),1),0)))))
71#
 樓主| wangyiyong7703 發(fā)表于 2025-1-4 15:21:44 | 只看該作者
銀光戰(zhàn)火 發(fā)表于 2024-12-23 15:18
我的天爺啊,兩位大神中的大神,我記得wps里有個(gè)公式roundbanke,就是四舍六入五留雙啊 ...

roundbank的表現(xiàn)還是有漏洞的,沒有我的公式表現(xiàn)好。正是因?yàn)槟壳伴_發(fā)的好多自動(dòng)修約的公式有問題,才想到改進(jìn)。漏洞推動(dòng)進(jìn)步,歡迎提出反例。

56542c1dc46c1ce8dfee2f3ed175f68.png (8.49 KB, 下載次數(shù): 24)

56542c1dc46c1ce8dfee2f3ed175f68.png
70#
woaijiliang666 發(fā)表于 2024-12-28 17:16:02 | 只看該作者
1111111不錯(cuò)呀
69#
lo452355 發(fā)表于 2024-12-27 16:33:40 | 只看該作者
銀光戰(zhàn)火 發(fā)表于 2024-12-23 15:18
我的天爺啊,兩位大神中的大神,我記得wps里有個(gè)公式roundbanke,就是四舍六入五留雙啊 ...

這是尋根問底了,roundbanke的來源了
68#
銀光戰(zhàn)火 發(fā)表于 2024-12-23 15:18:10 | 只看該作者
我的天爺啊,兩位大神中的大神,我記得wps里有個(gè)公式roundbanke,就是四舍六入五留雙啊

微信圖片_20241223151730.png (12.24 KB, 下載次數(shù): 21)

微信圖片_20241223151730.png
67#
 樓主| wangyiyong7703 發(fā)表于 2023-10-16 13:07:10 | 只看該作者
歡迎善意的網(wǎng)友們提出好的意見和建議。多提出在制作模版中遇到的修約公式問題,一起探討解決方案。公式原創(chuàng)不易,希望得到網(wǎng)友推動(dòng)進(jìn)步
66#
路云 發(fā)表于 2023-10-15 15:51:20 | 只看該作者

放心好了,不會(huì)再回復(fù)你了。

我并沒有說我的自定義函數(shù)無敵,但愿你搭臺(tái)唱戲能吸引更多的量友,受益你那萬能的修約公式。

65#
 樓主| wangyiyong7703 發(fā)表于 2023-10-15 14:49:52 | 只看該作者
路云 發(fā)表于 2023-10-15 14:31
你的反例舉得很好啊,之前跟你講過,后面輸入數(shù)據(jù)處理即可,即對(duì)于待修約數(shù)有效數(shù)字比修約要求的少,包括浮 ...

這個(gè)貼子不歡迎你好不好,不是真心為廣大網(wǎng)友考慮,你另開一貼吧,讓別人評(píng)價(jià)你那無敵的修約公式。不要回復(fù)了,知趣點(diǎn)
64#
路云 發(fā)表于 2023-10-15 14:31:48 | 只看該作者

你的反例舉得很好啊,之前跟你講過,后面輸入數(shù)據(jù)處理即可,即對(duì)于待修約數(shù)有效數(shù)字比修約要求的少,包括浮點(diǎn)輸入,誤輸入都可以對(duì)其進(jìn)行過慮,通過加round過濾浮點(diǎn)問題,通過f(x)&"000000"解決待修約位數(shù)少的問題。

如果工作表函數(shù)ROUND()能夠解決問題的話,也就用不著去用VB函數(shù)ROUND()去編制自定義函數(shù)了。

從實(shí)際角度講應(yīng)盡量減少修約后精度提高的問題,不能拿這個(gè)說事。誤差確須帶正負(fù)符號(hào)的話,你加我的算法不就可以了。如果把這個(gè)算法也加到普通修約公式里面去,那不還要增加一個(gè)支鏈判定是不是誤差。搞笑,正確方向提反例好不好

數(shù)據(jù)處理的函數(shù)公式都一樣,僅僅是顯示格式(是否帶正負(fù)號(hào))的要求不同,我為什么要去重新修改函數(shù)公式?是否帶正負(fù)號(hào)顯示,與數(shù)據(jù)處理的函數(shù)公式?jīng)]有任何關(guān)系。計(jì)算過程與步驟完全一致,通過單元格格式設(shè)置,你需要顯示符號(hào)(如“示值誤差”)就顯示符號(hào),不需要顯示符號(hào)(如“示值重復(fù)性”)就不顯示符號(hào)。這個(gè)信息在編制原始記錄模板時(shí),還不知道嗎?需要你去另加支鏈來判定是否需要顯示符號(hào)嗎?

增加位數(shù),不用vb,不用手動(dòng)設(shè)置公式是我個(gè)人增加難度,不在這里惡心我,好不好,交待多少回了。你要知道excel愛好者有這么一群人就愛干這個(gè)事。

我沒有惡心你。追求難度是你的事,我無權(quán)干預(yù)。提供參考方案是我的事,采不采納是你的自由,沒有人強(qiáng)迫你一定要怎么樣。你覺得你的方法好,你就用你的方法好了,有什么好糾結(jié)的呢。

你的這種思路和方案,我不是沒有研究嘗試過,編制的原始記錄模板也不下幾十上百份。最終的體驗(yàn)感覺是不靈活,通用性差,還需要在表格中輸入并不需要在原始記錄中出現(xiàn)的“保留小數(shù)位數(shù)”,以及需要根據(jù)不同的顯示格式需求來修改公式。我這里只是談我個(gè)人的體驗(yàn)感,不代表其他人的體驗(yàn)感。

有質(zhì)量的反例希望你多提點(diǎn),重復(fù)提有什么意思。提了那么多,還不如別人提的一個(gè)浮點(diǎn)問題有質(zhì)量。

我不清楚您所說的“質(zhì)量反例”是啥意思。如果您認(rèn)為我提出的問題都不是問題,那就只當(dāng)我沒說好了。浮點(diǎn)問題我早就說了,用VBROUND()函數(shù),取代工作表函數(shù)ROUND()就可以解決。還要怎么說呢?

63#
 樓主| wangyiyong7703 發(fā)表于 2023-10-15 08:28:04 | 只看該作者
路云 發(fā)表于 2023-10-15 01:39
1.=TEXT(yround(A7,B7),"0."&REPT("0",B7)……原來顯示0.1,現(xiàn)在為0.100.用您的公式很好用呀,配合我提供 ...

有質(zhì)量的反例希望你多提點(diǎn),重復(fù)提有什么意思。提了那么多,還不如別人提的一個(gè)浮點(diǎn)問題有質(zhì)量。
62#
 樓主| wangyiyong7703 發(fā)表于 2023-10-15 08:24:45 | 只看該作者
增加位數(shù),不用vb,不用手動(dòng)設(shè)置公式是我個(gè)人增加難度,不在這里惡心我,好不好,交待多少回了。你要知道excel愛好者有這么一群人就愛干這個(gè)事。
61#
 樓主| wangyiyong7703 發(fā)表于 2023-10-15 08:20:11 | 只看該作者
從實(shí)際角度講應(yīng)盡量減少修約后精度提高的問題,不能拿這個(gè)說事。誤差確須帶正負(fù)符號(hào)的話,你加我的算法不就可以了。如果把這個(gè)算法也加到普通修約公式里面去,那不還要增加一個(gè)支鏈判定是不是誤差。搞笑,正確方向提反例好不好
60#
 樓主| wangyiyong7703 發(fā)表于 2023-10-15 08:09:21 | 只看該作者
你的反例舉得很好啊,之前跟你講過,后面輸入數(shù)據(jù)處理即可,即對(duì)于待修約數(shù)有效數(shù)字比修約要求的少,包括浮點(diǎn)輸入,誤輸入都可以對(duì)其進(jìn)行過慮,通過加round過濾浮點(diǎn)問題,通過f(x)&"000000"解決待修約位數(shù)少的問題。
59#
路云 發(fā)表于 2023-10-15 01:39:21 | 只看該作者
本帖最后由 路云 于 2023-10-15 13:53 編輯
wangyiyong7703 發(fā)表于 2023-10-14 10:13
1.=TEXT(yround(A7,B7),"0."&REPT("0",B7)……原來顯示0.1,現(xiàn)在為0.100.用您的公式很好用呀,配合我提供 ...

1.=TEXT(yround(A7,B7),"0."&REPT("0",B7)……原來顯示0.1,現(xiàn)在為0.100.用您的公式很好用呀,配合我提供的 TEXT(...rept..)公式,只是用了VB也要用公式設(shè)置,覺得太LOW了。

不是公式設(shè)置,而是格式設(shè)置,不要把概念給搞混了。

2.用vb我早就實(shí)現(xiàn)了上百位的修約,還不用格式設(shè)置,單元格有255個(gè)字符顯示,說明我可以修約2百多位數(shù)是沒有問題的。

3.用簡單的公式無法實(shí)現(xiàn)超多位數(shù)的修約,不然沒有必要在您的面前弄斧頭了,那不是丟人現(xiàn)眼,沒有必要發(fā)這個(gè)貼了。

4.文獻(xiàn)和網(wǎng)上好多公式?jīng)]有解決尾數(shù)為0自動(dòng)不顯示,另一個(gè)超大位數(shù)的問題。我希望您也來提供一些好的算法。

我早就說了,實(shí)際應(yīng)用中,我?guī)资暌矝]有遇到過超多位數(shù)的修約案例與需求。不想在已經(jīng)能夠滿足實(shí)際需求的情況下,再去研究這種不切實(shí)際的問題。位數(shù)0自動(dòng)不顯示,本就是單元格格式?jīng)]有設(shè)置所致。有了簡單易用的單元格格式設(shè)置功能模塊,我為什么還要去動(dòng)這個(gè)腦筋呢?假如我現(xiàn)在要改成百分比的格式顯示,你是不是要重新修改公式呀?

2.您要舉一個(gè)實(shí)例,哪個(gè)地方要顯示正號(hào);我是沒有見過必須要在修約之后顯示正號(hào)的;您自己的公式也沒有正號(hào)啊,為什么要求我的公式顯示正號(hào)。

3.我之所以不想理會(huì)正號(hào)問題,是覺得這個(gè)問題提的有點(diǎn)怪。一般人不會(huì)提出這種問題,到您這里成為問題???!!!

我33樓的實(shí)際案例,“示值誤差”的計(jì)算,其最終的修約結(jié)果,不就是要求除0誤差外,必須帶正負(fù)號(hào)嗎。

1.至于您提的非數(shù)值問題,那這個(gè)問題你的公式也做到了嗎?把一個(gè)參有字母數(shù)字串去修約,這個(gè)反例夠可以了的。

你的擬修約數(shù)是“文本”,誤敲入字母或其他符號(hào)完全是有可能的。

2.A1里面輸入的待修約全數(shù)值是公式算出來的結(jié)果,比如平均值公式什么的,搞檢測(cè)的公式復(fù)雜一點(diǎn),怎么會(huì)含有字母,除非您跳出了十進(jìn)制。

既然是公式算出來的,那么計(jì)算結(jié)果的小數(shù)位數(shù),完全有可能會(huì)少于你需要保留的小數(shù)位數(shù)。

3.A1里面手動(dòng)輸入才會(huì)有帶字母的全數(shù)值。那是輸入的問題。要解決的是輸入規(guī)范的問題。不是這里要解決的。

你的單元格格式就是“文本”,誤操作完全是有可能的,而且輸入的其他字符完全符合“文本”的要求,是你沒有對(duì)輸入的數(shù)據(jù)進(jìn)行“有效性控制”、攔截。

另外強(qiáng)調(diào)一點(diǎn),實(shí)際應(yīng)用中,第二列的“保留小數(shù)位數(shù)”,根本就無需在原始記錄的表格中出現(xiàn),也無需去輸入。相應(yīng)單元格的數(shù)據(jù)處理后的最終結(jié)果的保留小數(shù)位數(shù),應(yīng)該是在編制“原始記錄表”模板時(shí),就已經(jīng)是確定,可以固化的。



58#
 樓主| wangyiyong7703 發(fā)表于 2023-10-14 10:42:35 | 只看該作者
1.至于您提的非數(shù)值問題,那這個(gè)問題你的公式也做到了嗎?把一個(gè)參有字母數(shù)字串去修約,這個(gè)反例夠可以了的。
2.A1里面輸入的待修約全數(shù)值是公式算出來的結(jié)果,比如平均值公式什么的,搞檢測(cè)的公式復(fù)雜一點(diǎn),怎么會(huì)含有字母,除非您跳出了十進(jìn)制。
3.A1里面手動(dòng)輸入才會(huì)有帶字母的全數(shù)值。那是輸入的問題。要解決的是輸入規(guī)范的問題。不是這里要解決的。
4.如果您提出的反例只能到這個(gè)層次,那說明我的公式在處理數(shù)值上是沒有大的漏洞了。
5.之前其它貼子里面有人也提出了輸入問題,經(jīng)過多次運(yùn)算之后 的浮點(diǎn)問題,遺傳到我的公式里面,但我作出了合理解決。輸入階段的問題,在輸入階段解決。不能要求修約公式是萬能的。當(dāng)然用vb可以解決有效性輸入的問題,但這個(gè)效率低了一點(diǎn)。在其它地方解決輸入問題可能好一點(diǎn)。
57#
 樓主| wangyiyong7703 發(fā)表于 2023-10-14 10:23:38 | 只看該作者
本帖最后由 wangyiyong7703 于 2023-10-14 10:29 編輯
路云 發(fā)表于 2023-10-13 23:58
2.純數(shù)字文本也可以參與其它計(jì)算,強(qiáng)制進(jìn)行轉(zhuǎn)換。這里解決的是尾數(shù)補(bǔ)0的情況,用文本表示是不得已的事。 ...


1.至于您說的符號(hào)顯示問題,我覺不是個(gè)問題,就是正號(hào)顯示問題,負(fù)數(shù)修約到我這不成為問題,您用負(fù)數(shù)算一下就可以了。
2.您要舉一個(gè)實(shí)例,哪個(gè)地方要顯示正號(hào);我是沒有見過必須要在修約之后顯示正號(hào)的;您自己的公式也沒有正號(hào)啊,為什么要求我的公式顯示正號(hào)。
3.我之所以不想理會(huì)正號(hào)問題,是覺得這個(gè)問題提的有點(diǎn)怪。一般人不會(huì)提出這種問題,到您這里成為問題???!!!
4.if(A1>0,"+" & f(A1,b1),f(A1,b1))如果你須要這個(gè)的話,我給提供您這個(gè)方法f(A1,b1)為無法顯示正號(hào)的公式。這種問題太LOW。
=IF(A15*1>0,"+" & IF(OR(AND(ISEVEN(MID(A15,FIND(".",A15)+B15,1)*1),MID(A15,FIND(".",A15)+B15+1,1)="5",IFERROR(RIGHT(A15,LEN(A15)-FIND(".",A15)-B15-1)*1,0)=0),MID(A15,FIND(".",A15)+B15+1,1)*1<5),LEFT(A15,FIND(".",A15,1)+B15),IF(IFERROR(FIND(".",LEFT(A15,FIND(".",A15,1)*1+B15)*1+IF(A15*1<0,-1,1)/POWER(10,B15),1),0)=0,LEFT(A15,FIND(".",A15,1)*1+B15)*1+IF(A15*1<0,-1,1)/POWER(10,B15)&"."&REPT("0",B15),LEFT(A15,FIND(".",A15,1)*1+B15)*1+IF(A15*1<0,-1,1)/POWER(10,B15)&REPT("0",B15-(LEN(LEFT(A15,FIND(".",A15,1)*1+B15)*1+IF(A15*1<0,-1,1)/POWER(10,B15))-IFERROR(FIND(".",LEFT(A15,FIND(".",A15,1)*1+B15)*1+IF(A15*1<0,-1,1)/POWER(10,B15),1),0))))),IF(OR(AND(ISEVEN(MID(A15,FIND(".",A15)+B15,1)*1),MID(A15,FIND(".",A15)+B15+1,1)="5",IFERROR(RIGHT(A15,LEN(A15)-FIND(".",A15)-B15-1)*1,0)=0),MID(A15,FIND(".",A15)+B15+1,1)*1<5),LEFT(A15,FIND(".",A15,1)+B15),IF(IFERROR(FIND(".",LEFT(A15,FIND(".",A15,1)*1+B15)*1+IF(A15*1<0,-1,1)/POWER(10,B15),1),0)=0,LEFT(A15,FIND(".",A15,1)*1+B15)*1+IF(A15*1<0,-1,1)/POWER(10,B15)&"."&REPT("0",B15),LEFT(A15,FIND(".",A15,1)*1+B15)*1+IF(A15*1<0,-1,1)/POWER(10,B15)&REPT("0",B15-(LEN(LEFT(A15,FIND(".",A15,1)*1+B15)*1+IF(A15*1<0,-1,1)/POWER(10,B15))-IFERROR(FIND(".",LEFT(A15,FIND(".",A15,1)*1+B15)*1+IF(A15*1<0,-1,1)/POWER(10,B15),1),0))))))

微信圖片_20231014102913.png (29.61 KB, 下載次數(shù): 511)

微信圖片_20231014102913.png
56#
 樓主| wangyiyong7703 發(fā)表于 2023-10-14 10:13:33 | 只看該作者
路云 發(fā)表于 2023-10-13 23:58
2.純數(shù)字文本也可以參與其它計(jì)算,強(qiáng)制進(jìn)行轉(zhuǎn)換。這里解決的是尾數(shù)補(bǔ)0的情況,用文本表示是不得已的事。 ...

1.=TEXT(yround(A7,B7),"0."&REPT("0",B7)……原來顯示0.1,現(xiàn)在為0.100.用您的公式很好用呀,配合我提供的 TEXT(...rept..)公式,只是用了VB也要用公式設(shè)置,覺得太LOW了。
2.用vb我早就實(shí)現(xiàn)了上百位的修約,還不用格式設(shè)置,單元格有255個(gè)字符顯示,說明我可以修約2百多位數(shù)是沒有問題的。
3.用簡單的公式無法實(shí)現(xiàn)超多位數(shù)的修約,不然沒有必要在您的面前弄斧頭了,那不是丟人現(xiàn)眼,沒有必要發(fā)這個(gè)貼了。
4.文獻(xiàn)和網(wǎng)上好多公式?jīng)]有解決尾數(shù)為0自動(dòng)不顯示,另一個(gè)超大位數(shù)的問題。我希望您也來提供一些好的算法。
5.尾數(shù)為0自動(dòng)舍去,補(bǔ)零是須要的,文本是解決方法之一,用text也相當(dāng)于手動(dòng)設(shè)置改為公式設(shè)置,充分利用rept這個(gè)函數(shù)后,可以自動(dòng)設(shè)置了。您用手動(dòng)格式設(shè)置也可以。
6.因?yàn)橹昂芏嘤泻芏喙绞怯玫臄?shù)值處理,數(shù)值處理天然會(huì)帶有位數(shù)限制,修約結(jié)果受到影響。所以想到將數(shù)字進(jìn)行文本方式處理,vb設(shè)計(jì)結(jié)果顯示是成功的。但用內(nèi)建函數(shù)沒有找到很好的辦法,POWER相對(duì)來說表現(xiàn)效果好一點(diǎn),但還是只能到15位,其它的基本只能到10位。當(dāng)然目前只是想到用分段處理算法,但效果可能有限,只能到30位,而且公式很長。目前沒有好的算法。

微信圖片_20231014095513.png (21.64 KB, 下載次數(shù): 511)

微信圖片_20231014095513.png
55#
路云 發(fā)表于 2023-10-13 23:58:41 | 只看該作者
wangyiyong7703 發(fā)表于 2023-10-8 19:52
1.麻煩您舉一些實(shí)質(zhì)性的問題進(jìn)行討論,這樣很累,沒有意義,之前您找到的很多有意義的反例很好;
2.純數(shù) ...

2.純數(shù)字文本也可以參與其它計(jì)算,強(qiáng)制進(jìn)行轉(zhuǎn)換。這里解決的是尾數(shù)補(bǔ)0的情況,用文本表示是不得已的事。

3.修約后尾數(shù)0后,系統(tǒng)自動(dòng)去除,您的自定義函數(shù)是一個(gè)致命的問題。如果靠設(shè)置去解決,那您的公式確實(shí)看起來很好。

5.你用設(shè)置格式解決尾數(shù)補(bǔ)0問題,確實(shí)不是很高端,我也是想避開。其實(shí)有很多內(nèi)建函數(shù)配合格式設(shè)置可以做到,完全不用VB,這個(gè)早就實(shí)現(xiàn)了。

EXCEL中“設(shè)置單元格格式”功能模塊,就是為了解決各種數(shù)據(jù)格式的顯示問題,運(yùn)用公式、函數(shù)的目的,是解決“四舍六入五留雙”的問題。修約后的尾數(shù)補(bǔ)0,不是修約的問題,而是顯示格式的問題。所有的格式顯示問題,都可以用文本處理的方式去解決,那還需要“設(shè)置單元格格式”這一模塊嗎?有現(xiàn)成的、簡單的、適用的工具你不用,非要用文本處理的方式去解決,那是你的自由。

6.發(fā)揮內(nèi)建函數(shù)作用,不靠其他方法是我追求的。因?yàn)槟胿b做的自定義函數(shù)沒多大意思,我實(shí)不屑取,避開vb,才是我們想要的。用vb超百位的修約我也可以做到,早就做到了。

你可以有你的追求,你認(rèn)為自定義函數(shù)沒多大意思那也是你個(gè)人的看法,我只是提供一種思路與方法,供您參考,我又沒有逼你一定要用。我不知道研究超百位的修約又有何意思,難道我們要去研究圓周率?現(xiàn)實(shí)當(dāng)中超過10位小數(shù)的修約應(yīng)用有多少?

POWER()函數(shù)只是解決實(shí)數(shù)的乘冪問題,解決不了修約后的尾數(shù)補(bǔ)0問題。自定義函數(shù)已經(jīng)解決了修約的問題,無需用到這個(gè)函數(shù)。

避開格式設(shè)置問題公式如下:f(A1B1)為網(wǎng)上或文獻(xiàn)中提供的各種數(shù)值計(jì)算處理的四舍六入五成雙公式,Text(f(A1,B1),"0." & rept("0",B1).這樣不用格式設(shè)置。A1為待修約全數(shù)值,B1為修約要求的保留小數(shù)點(diǎn)位數(shù)

所謂公式f(A1,B1),我也在網(wǎng)上找了很多,但最簡單易用的,就是我7樓提供的這個(gè)。用這個(gè)自定義函數(shù),TEXT()公式就不靈了。

您的公式最大的問題是改變了數(shù)值的性質(zhì),將其變成了“文本”,解決不了帶符號(hào)顯示的問題,也避免不了37截圖所示的非數(shù)值問題。

54#
 樓主| wangyiyong7703 發(fā)表于 2023-10-10 08:38:50 | 只看該作者
避開格式設(shè)置問題公式如下:f(A1,B1)為網(wǎng)上或文獻(xiàn)中提供的各種數(shù)值計(jì)算處理的四舍六入五成雙公式,text(f(A1,B1),"0." & rept("0",B1).這樣不用格式設(shè)置。A1為待修約全數(shù)值,B1為修約要求的保留小數(shù)點(diǎn)位數(shù)

補(bǔ)充內(nèi)容 (2023-10-10 16:33):
text(f(A1,B1),"0." & rept("0",B1))

本版積分規(guī)則

小黑屋|Archiver|計(jì)量論壇 ( 閩ICP備06005787號(hào)-1—304所 )
電話:0592-5613810 QQ:473647 微信:gfjlbbs閩公網(wǎng)安備 35020602000072號(hào)

GMT+8, 2025-7-19 04:13

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 免费A级毛片在线播放不收费| 中文字幕欧美日韩高清| 性欧美激情xxxd| 欧美日韩国产电影| www香蕉视频| 中文字幕在线播放| 亚洲欧美日韩综合久久久久| 国产成人精品免费视频大全| 快点cao我要被cao烂了男女| 欧美日韩激情在线一区二区| 英语老师解开裙子坐我腿中间| a级亚洲片精品久久久久久久| 亚洲丝袜中文字幕| 搞av.com| 榴莲视频在线观看污| 精品久久久久久成人AV| 黄色成年人网站| 8x成人在线电影| 一级黄色香蕉视频| 久久无码精品一区二区三区| 亚洲色图黄色小说| 国产小视频在线看| 国产精品爽爽va在线观看无码| 扒开女人双腿猛进入爽爽视频 | 今天免费中文字幕视频| 国产成人av一区二区三区在线| 女性成人毛片a级| 爱情岛论坛网亚洲品质自拍| 黄录像欧美片在线观看| 91看片淫黄大片.在线天堂| 中文字幕一区二区三区免费视频| 九九久久精品无码专区| 亚洲欧美中文字幕5发布| 免费a级黄色毛片| 午夜视频在线在免费| 国产乱人伦偷精品视频不卡| 国产在线精品二区赵丽颖| 国产精品不卡在线| 国产精品自产拍在线观看花钱看| 天堂а√在线中文在线| 性asmr视频在线魅魔|