Yahoo 知識+ 將於 2021 年 5 月 4 日 (美國東岸時間) 停止服務,而 Yahoo 知識+ 網站現已轉為僅限瀏覽模式。其他 Yahoo 資產或服務,或你的 Yahoo 帳戶將不會有任何變更。你可以在此服務中心網頁進一步了解 Yahoo 知識+ 停止服務的事宜,以及了解如何下載你的資料。
Excel公式:任一位數以10相減之個位數組合
原數他數補數12093456789801765432912403658719860745230813245679029786543191852346701925876430
題目
B欄為四位數,C欄為六位數,為0至9十個數字之不重複組合
請於E欄求出B欄與C欄之任一位數以10相減後之個位數組合舉例
B2為1209,C2為345678,合併值為1209345678
則E2為9801765432A欄說明BC欄數字未重複、D欄為模擬解(不得引用)無輔助列、定義名稱、VBA
字數(含等號)限99字,字數最短者且正確給予最佳解答
限2003版本http://www.funp.net/556671
3 個解答
- 准提部林Lv 78 年前最愛解答
臨時想到的方法,熱場先:
=REPLACE(10^9-1-SUBSTITUTE(B2&C2,0,)+REPT(1,9),FIND(0,B2&C2),,0)
2013-01-29 22:33:07 補充:
53字:
=SUBSTITUTE((10^12-10)/9-SUBSTITUTE(B2&C2,0,90),20,0)
受限於SUBSTITUTE比其它函數長!
-----------------------
同東邪大師邏輯,看似較短,但多了四則運算,無創意也無效率:
50字
=MID(10^12/9-1-10^(11-FIND(0,B2&C2))-(B2&C2),3,10)
當作題尾歇後式!
2013-01-30 16:25:51 補充:
兩位大師各執皆有所本,更顯這題之趣味及實用性!
009特註明:題尾歇後式!
實己認定最佳解已屬東邪大師,
此題以東邪大師52字之解上答,才是兩頭兼顧,讓此題更臻完整。
個人還是推那53字解,雖然SUBSTITUTE預設名稱稍長,
但簡單好用,故不以字限而提出,供參考吧!
若能將敝解一併搬上回答區,讓網友多個方案酌參,亦無不可!
在各路好手漸隱退之時,場子都冷了,
難得兩位大師繼續為此版加這一股熱力!
2013-01-30 22:02:21 補充:
進階式:
A1:
=MID(RAND(),3,10)
B1:
=SUBSTITUTE(REPT(1,11+LEN(A1)-LEN(SUBSTITUTE(A1,0,)))-1-SUBSTITUTE(A1,0,90),20,0)
可適用10位數字的任意亂數,隨意湊湊!
2013-01-31 11:02:52 補充:
EXCEL.將〔十位數字〕拆解,分別以10減之再取〔餘數〕重組
<.准提部林.>
--------------------------------
東邪大師推辭〔不答〕!可惜讓這題失色!
我就花些時間來做〔佈達〕,若有僭越不妥處請見諒!
此答,是為了不讓PINY大師此好題因無人上答而移除,
請〔東邪.大師〕勿將意見中精彩公式移除,以饗有興趣網友學習!
--------------------------------
以下純將公式邏輯說明,謹供參考!
■公式1:
=REPLACE(10^9-1-SUBSTITUTE(B2&C2,0,)+REPT(1,9),FIND(0,B2&C2),,0)
--說明--
先將0請出,取得餘數組合後,再依其〔原位置〕補回。
■公式2:
=SUBSTITUTE((10^12-10)/9-SUBSTITUTE(B2&C2,0,90),20,0)
--說明--
1.先將0以它數取代,取得餘數組合後,再予以替回。
2.此式經修改後,可適用〔10位數字〕的〔任意亂數〕,
請參考〔意見021〕。
■公式3:
=MID(10^12/9-1-10^(11-FIND(0,B2&C2))-(B2&C2),3,10)
--說明--
1.此式原創為〔東邪.大師〕佳解,請參考〔意見007〕。
2.原創式以常數〔21111111110〕為被減值,極具效率,
應為資深專業者優先採用選項。
3.被減值以運算式〔10^12/9-1〕取代,
純是依〔題旨:達到以最少字元完成公式〕而用,
效率差多,只是思惟模式的轉化而已,了無新意!
--------------------------------
- ?Lv 78 年前
不好意思 六日較難回訊息 資料全部放在公司裡
印象中敝解52,大家可再想想
趣味題
2013-01-27 15:28:19 補充:
001, 002皆正確
答題期間 小於等於52字者優先選答
屆答題期限二日 則請相對較短者上答 目前為東大
2013-01-28 08:54:46 補充:
007兩式皆正確 第一解同預設 置二天看有無更佳解 再請東大上答 ^^
2013-01-30 09:44:12 補充:
009兩式皆正確 將第一參數用算式表達 這點倒沒想到
本系列遊戲規則係以字數論,並未追求效率,目前僅對下述極具非效率方式不予承認
COLUMN(1:1)
ROW(A:A)
SUMIF(A:A,A1,B1)
其餘簡化都具有一定價值,也是訓練思維的方法之一
目前最佳解歸准大,再放二天! ^^
2013-01-30 15:52:34 補充:
基本上一格完成就多少犧牲掉效率,可移駕至W大最新開放問題看看
該題若添一些輔助欄完成,想必三秒必可答出,那為什麼要花那麼多精神在想一格完成的可能性(而且有圈數限制)
我只是在出題時明訂遊戲規則,我相信東大迄今尚難苟同,我也花頗多篇幅以各種立場表明,此系列遊戲重在訓練思維及邏輯思考,我仍深信這有助於函數的推廣、瞭解與應用。
在其他論壇上,我進行此系列遊戲多年,因為不必選出最佳,所以尚頗獲好評,無奈知識家体制要求必需且僅能選唯一為答,我才以字數來評定。
以字數評定是絕對客觀,效率實在可以暫時不去理會。
2013-01-30 15:52:40 補充:
正如實作時我會以輔助欄完成複雜陣列公式一樣,處理工事為先,惟業餘時仍熱愛鑽研函數的應用並努力推廣,這只是評分機制,真的,謝謝東大履次建言,小弟萬幸。
2013-01-30 16:01:54 補充:
選字數相對較低為最佳,可看成是在知識家推廣Excel妥協的結果,我也從未否認字數雖長唯效率奇佳的公式解,尚望東大体會,再次感謝!
2013-01-30 16:22:43 補充:
謝謝東大指教 ^^!
2013-01-30 17:47:14 補充:
本題僅東大和准大提供精采公式,若准大樂意,熕請東大不要推託上答,小弟好繼續出下一題! ^^
- 東邪無弓Lv 78 年前
53字
=RIGHT(111111111110-10^(11-FIND(0,B2&C2))-(B2&C2),10)
2013-01-27 12:24:39 補充:
意見者: 准提部林 ( 大師 4 級 )發表時間:2013-01-25 18:48:27
意見者: 東邪無弓 ( 大師 1 級 )發表時間: 2013-01-25 21:35:59
迄今一天多,未見回應,難道P大在此也週休二日?
2013-01-27 18:39:07 補充:
52字
=RIGHT(21111111110-10^(11-FIND(0,B2&C2))-(B2&C2),10)
或
=MID(21111111110-10^(11-FIND(0,B2&C2))-(B2&C2),2,10)
2013-01-30 15:21:11 補充:
解題重在邏輯,而非枝節末稍。
009的111111111110以數學式拼湊,我早在第一次貼文之前便已想過,
但以其取之拼湊,且其效率必遜於常數,決定不用。
P大謂:其餘簡化都具有一定價值
個人始終覺得,未必!
P大這一系列,僅圖字數在形式上之減省,
卻漏失了電腦應用上更重要的評鑑因素:效率!
網友稍有不察便易受其誤導!
訓練思維不應犧牲效率,純做形式考量。
W大最近所推出者,兼顧創意與效率,不侷限於形式上之字數,個人認為較合理。
2013-01-30 15:25:05 補充:
另,本人志不在答,本題不會上答。
准大若覺無不妥,請自斟酌上答。
2013-01-30 16:18:56 補充:
固然P大提及此系列旨在推廣函數的應用,
但以本題而言,和演算法的相關遠遠大於函數的應用。
熟知補數特性者,第一閃念便是10000000000或9999999999,
因在N補和N-1補,這兩類型常數是常被參考到的。
本題是以各位數獨立N補,故參考常數便會類如11111111110,再把對應0的位數也改為0。
以上觀念便和函數無關,而和資料結構的認知素養有關。
至於保留數值前導零的手法,用一個虛擬高位是常用手法之一,這也是經驗之作,非函數之功。
唯一用到函數的是最後配合字串函數取出標的物。
2013-01-30 18:42:51 補充:
個人已言明不會上答,上不上答和准大樂不樂意,風馬牛不相及。
至於誰要上答,事不關己,請便。