02.24 條件格式的另類用法——解數獨「文末有福利」

我最近分享了一些關於條件格式應用的例子,而且這些應用還不是常規的用法,我是想通過這些創意分享,讓大家知道一個簡單的工具,不僅可以實現很多奇特的效果,甚至還可以幫助我們做更多的事情,比如我今天要分享的:

用條件格式解數獨<strong>(既然說到了數獨,肯定就不會只說條件格式,文章結尾有福利,喜歡數獨的朋友注意哦)

條件格式的另類用法——解數獨「文末有福利」

條件格式解數獨演示

上圖的演示,是我很久以前製作的(那個時候還用的2003版Excel),今天我給大家說說這個效果是怎麼做出來的(今天用的文件是增強版,增加了更多的功能,見下圖)。

條件格式的另類用法——解數獨「文末有福利」

更豐富的內容,更方便的操作


下面開始,步入正題:

表格佈局設計

按上圖所示,將A列至I列的列寬設置成1cm、1行至9行的行高設置成1cm,加上邊框;

另外將表格的其他部分,也按圖片所示,全部做好,然後進入下一步。

設置條件格式

1、先理清楚數獨的規則

①每行、每列填入1到9的不重複數;

②每個小九宮格中,分別填入1到9的不重複數;

那麼,我們就利用上面兩個規則,作為設置表格的條件格式,讓可以填寫數據的位置自動現身。

比如:當第一行內已經有1了,第一行的其餘空格,就不能再填寫1,就是利用規則,把不能填寫的格子排除掉,具備填寫條件的格子凸顯出來。

2、設置格式<strong>(所有的公式,在我分享的文件裡都有,文章末尾有獲取方法)

我們要設置三個提醒的條件格式:

①標註已有數字,用藍色;②標註可填區域,用青色;③標記重複數,用紅色(不符合規則的數,即錯誤結果)

我們來設置第一條:

①標註已有數字:選擇A1:I9區域(注意活動單元格,什麼是活動單元格:就是你選中一個區域後,輸入內容,看內容出現在哪個單元格,那個單元格就是活動單元格,如圖所示,A1就是活動單元格)。

選中區域後,在開始→樣式→條件格式→新建規則→使用公式確定要設置格式的單元格→輸入公式,設置格式(後續的都是這樣操作,只是公式有差異,格式有不同。以後的內容不再贅述,就直接說公式了)

條件格式的另類用法——解數獨「文末有福利」

<code>條件格式公式為:=A1=$O$5/<code>

這裡的A1是活動單元格,O5是目前要填寫的數。公式理解為:當活動單元格的數是,活動單元格填充藍色。

這裡還還需要注意:單元格絕對引用、相對引用、混合引用,可以查看我之前分享的文章。

下面的內容兩個條件格式的公式,更要注意混合引用的使用。

②標註可填區域,用青色。設置的公式,直接看下圖(注意紅色加粗的內容):

條件格式的另類用法——解數獨「文末有福利」

標註可填區域所用的條件格式公式

③標記重複數,用紅色。設置的公式,直接看下圖(注意紅色加粗的內容):

條件格式的另類用法——解數獨「文末有福利」

標記重複數字所用的條件格式公式

④,為了方便查看剩餘未填寫的數據,在L6至T8區域,也設置了條件格式(見下圖),即當所有數都填寫完成後,單元格由黃色填充變為無色。

條件格式的另類用法——解數獨「文末有福利」

製作完成

完成上面的操作,基礎的表格製作和格式設置就完成,在A1至I9區域填入數獨題目,選擇本次填寫的數字(下拉菜單中選),表格中就可以給予提示了,就可以像文章開始那樣,解答數獨了。

條件格式的另類用法——解數獨「文末有福利」

條件格式效果


<strong>……分割線……到此,要分享的條件格式內容已完成,下面是關於數獨的……分割線……


喜歡數獨的朋友都知道,數獨的解法很多,比如基礎基礎摒除法、區塊摒除法、撐點定位法、唯一解法、唯餘解法、唯一候選數法、餘數測試法、矩形頂點法(X-Wing解法)等等。

<strong>上面的條件公式,只實現了基礎基礎摒除法、區塊摒除法、撐點定位法這三種解法,所以還不夠。

在這個文件中,除了用條件格式涉及到的三種解法,還通過VBA算法,增加了:

【餘數測試法】即【測試解法】(測試解法會生成單元格批註,如果測試解法失敗,需要刪除批註,可以用【清除批註】功能);

【暴力解法】,顧名思義,就是從第一個空格第一種可能性開始,通過循環,遍歷所有的可能性,直到找出正確的結果(此法特別耗時,尤其是在解高難度的題目時)。

【題庫】:設置題目的,時為了方便導入其他的數獨題目。

【隨機出題】:電腦隨機出題,但還不能設置難度,所出的題目,用以上的方法,基本都可以解開;

【題目還原】:如果解題失敗,可以還原題目,從頭再來。

【本題加入題庫】、【從題庫中刪除】:對題庫操作,增加或刪除題目(對題目的操作,都在這裡,不要在題庫中操作)。需要注意:這裡的刪除題目,不是刪除隨機生成的題目,而是從題庫中調用的題目,例如上圖中選擇的題庫題目是<strong>題目2,即使選擇題目之後又用電腦生成了題目,點【從題庫總刪除】按鈕時,還是會刪除<strong>題目2,放心,所有刪除操作前,都有提示,可以在提示中取消刪除。

沒有設置保存進度的功能,是因為excel文件本省就可以保存數據,下次打開再接著玩就可以了。

另外,通過鼠標點擊L6和T6區域的數字做選擇,直接代替下拉菜單;且可以直接通過左鍵單擊將數字錄入數獨中(只會在空單元格中填入,不會影響已填寫的數據)。見下圖:

條件格式的另類用法——解數獨「文末有福利」

導入題目的操作演示如下(演示生成題目的軟件叫《數獨博士》,是一款非常好用的數獨遊戲軟件):

條件格式的另類用法——解數獨「文末有福利」

導入數獨題目


終極功能——專業算法解法(數獨、VBA、Excel愛好者的福利)


條件格式的另類用法——解數獨「文末有福利」

數獨解法大全

這個工具代碼的編寫者,是圈子裡一位非常非常非常厲害的老師(神一樣的級別)。用這個專業算法,基本上不存在解不開的數獨(多種結果的數獨除,用其中某些工具時,可能會出現不停的循環,用的時候稍微注意下。)

這個表格裡面,只有電腦出題,如果需要用這個解其他題目,可以用上面導入題目的方法,將數獨題目導入到我做的文件中,然後複製粘貼過來,即可用這個工具解答。


寫在後面

解數獨,就像玩掃雷一樣,計算的過程才是能帶來成就感的,所以我目前都使用我自制的那個表格,用條件格式,配合餘數測試法、實在不行加上暴力破解,來解答數獨。專業算法解答,直接把答案顯示出來了,反而失去了其中的意義。

<strong>好了。如果需要這個文件,可以關注我,然後私信發送【數獨】,獲取下載鏈接。


分享到:


相關文章: