Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

piny
Lv 7
piny 發問時間: 電腦與網際網路軟體 · 8 年前

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

已更新項目:

上述載點好像壞了,改以下這個

http://www.funp.net/947021

3 個解答

評分
  • 8 年前
    最佳解答

    臨時想到的方法,熱場先:

    =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〕取代,

       純是依〔題旨:達到以最少字元完成公式〕而用,

       效率差多,只是思惟模式的轉化而已,了無新意!

    --------------------------------

  • piny
    Lv 7
    8 年前

    不好意思 六日較難回訊息 資料全部放在公司裡

    印象中敝解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 補充:

    本題僅東大和准大提供精采公式,若准大樂意,熕請東大不要推託上答,小弟好繼續出下一題! ^^

  • 8 年前

    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 補充:

    個人已言明不會上答,上不上答和准大樂不樂意,風馬牛不相及。

    至於誰要上答,事不關己,請便。

還有問題?馬上發問,尋求解答。