##title##

2020年4月14日

2015以後的MacBook觸控板按不下去的問題

因為2015以後的 MacBook 觸控板並非純機械機構,是透過軟體驅動類似手機震動的硬體,模擬真實按壓感覺,所以觸控板按不下去有可能是軟體層問題。


參考修復方式:
1. 重置SMC:
關機,拔電源,同時按左側的 shift+control+option 和電源鍵十秒鐘後,鬆開。
插電源 再開機。

2. 重置NVRAM:
關機開啟並同時按 option+command+p+r 約20秒

我自己也是嘗試了第一種方法就修復了(來源出處說沒有店員好像可以,但我自已試沒有插電源不行)。


出處:https://www.zhihu.com/question/22396705/answer/150245179

2020年3月14日

十銓風暴女神2代1TB M.2 PCIe SSD & 伽利略M.2轉PCI-E 1埠 SSD轉接卡(M2PE41)

之前公司的M14X的OS覺得有點小了,最近SSD 3DTLC較成熟,價格低了很多,所以想說買個1TB左右的來裝家裡的Area51的OS,然後256GB的SSD就替換M14X的。

所以去光華商場原價屋買了這兩個傢伙:
十銓風暴女神2代1TB M.2 PCIe SSD
伽利略M.2轉PCI-E 1埠 SSD轉接卡(M2PE41)

原本是打算買PLEXTOR M9PeY 1TB SSD PCIe,不過沒貨了。和原價屋小哥問了下有沒有轉接卡,於是改成這個方案。

話說這次原價屋遇到的小哥感覺比較有耐心,而且好像比較不會坑人,蠻難得的。

前面幾間遇到就只跟我說沒有PCIe的SSD,就結束了。XD


雖然後面發現主機板不支援悲劇。(理論上刷BIOS也是可以,但麻煩,想說算了)

但最後拿來替換掉原本拿來裝遊戲的SSD,且把Evernote移到上面,這樣暫時也就夠用了。反正重點是要替換掉公司M14X的OS。


雖然實際用起來和SATA3相比感受不出甚麼差異,不過測了一下分。




PS:參考原價屋資料
十銓風暴女神2代1TB M.2 PCIe SSD
PHISON PS5012-E12主控制器、28nm製程、NVMe 1.3標準
TOSHIBA TABBG55AIV BiCS3 3D TLC
快取記憶體使用2顆SK hynix H5AN4G8N8JR,規格為DDR4 2400、512Mx8
電源管理晶片使用PHISON PS6102-22

2020年2月10日

中二之路二部曲:ASUS ROG Strix XG32VQR

因為媽媽電腦的螢幕偏光膜劣化,已出現越來越大片類似的結晶的損壞,所以把之前的Dell U2311H給她用。

又到了升級自己的螢幕的時候了。XD


之前很想買有信仰之眼投射燈的ROG中二螢幕,來搭配中二的Alienware Area 51-R2,昨天去光華商場晃了一下,看了一下27吋的ROG Strix XG27VQ,量了一下底座尺寸。

但現場沒有32吋的,但想說既然要升級,除了尺寸,不如把解析度也升級到2560x1440。所以就猜底座應該差不多吧,就改買ROG Strix XG32VQR。

但目前實際擺起來好像還是深度多了3cm左右,所以螢幕變得有點太近。

桌子是75cm深的,覺得桌子可能要到100cm深會比較剛好。


XG32VQR規格
2560x1440(Quad HD)、144Hz、1800R曲率VA面板
亮度 450 nits、位元深度 8 bits(非FRC)
反應時間4ms (灰階到灰階)
FreeSync™ 2 HDR、DisplayHDR™ 400、DCI-P3 94%廣色域(sRGB125%)
訊號輸入:HDMI(v2.0) x2, DisplayPort


網路上已經太多開箱了,所以就簡易的紀錄一下,這搭配Area 51的中二之路二部曲。



2020年1月7日

Excel:判斷斷行文字,CHAR(10)

有時候需要判斷文字是否有斷行,例如我想判斷文字內容是:

道具量
(萬)

因為有斷行,如果判斷是:

=if($D$2="道具量(萬)",'現有道具'!D2,0)/10000


的時候,會出現錯誤,但這時候如果是用:

=if($D$2="道具量"&CHAR(10)&"(萬)",'現有道具'!D2,0)/10000


才可正常判斷。

CHAR是excel字元集的內容,詳請可參閱Office的CHAR函數說明:

https://support.office.com/zh-tw/article/char-%E5%87%BD%E6%95%B8-bbd249c8-b36e-4a91-8017-1c133f9b837a

2019年10月9日

Excel:計算範圍內的字串數量

組合多個函數計算的結果以及陣列公式竟然可以在一個欄位中計算出來某個範圍內特定字串的數量,很有趣。

但網頁的說明已經很清楚了,就不贅述了:
https://docs.microsoft.com/zh-tw/office/troubleshoot/excel/formulas-to-count-occurrences-in-excel

類似這樣的方式也可以:

="檔名(共"&COUNTA(A2:A100)&"個檔案,如扣除修改則"&COUNTA(A2:A100)-SUM(LEN(A2:A100)-LEN(SUBSTITUTE(A2:A100,"修","")))/LEN("修")&"個)"


僅記錄。

2019年10月1日

Excel:LOOKUP

找接近數值時可以用的函數。而且比vlookup方便的是,他可以直接回傳往左邊欄位的內儲存格內容。但缺點是,如果找不到直,可能會傳回不完全相符的結果。


語法
LOOKUP(lookup_value, lookup_vector, [result_vector])

LOOKUP 函數的向量形式語法具有下列引數:


  • lookup_value    必要。 這是 LOOKUP 在第一個向量中要尋找的值。 Lookup_value 可以是數字、文字、邏輯值,或是參照某個值的名稱或參照。


  • lookup_vector    必要。 僅包含一列或一欄的範圍。 lookup_vector 中的值可以是文字、數字或邏輯值。

重要: lookup_vector 中的值必須以遞增順序排列:..., -2, -1, 0, 1, 2, ...、A-Z、FALSE、TRUE,否則,LOOKUP 可能不會傳回正確的值。 文字不區分大小寫。

  • result_vector    選用。 僅含一列或一欄的範圍。 result_vector 引數的大小必須與 lookup_vector 相同。 其大小必須一樣。


備註
如果 LOOKUP 函數找不到 lookup_value,就會比對 lookup_vector 中小於或等於 lookup_value 的最大值。

如果 lookup_value 小於 lookup_vector 中的最小值,LOOKUP 函數會傳回 #N/A 的錯誤值。


參考資料:
https://support.office.com/zh-hk/article/lookup-%E5%87%BD%E6%95%B8-446d94af-663b-451d-8251-369d5e3864cb

2019年9月17日

Excel:OFFSET

之前常遇到一些固定錯位的表格,通常可以用OFFSET作便利的整理。

語法 OFFSET(reference, rows, cols, [height], [width])
OFFSET 函數語法具有下列引數:

  • Reference 必要。 這是用以計算位移的起始參照。 Reference 必須參照一個儲存格或相鄰的儲存格範圍,否則 OFFSET 會傳回 #VALUE! 錯誤值。
  • Rows 必要。 這是要左上角儲存格往上或往下參照的列數。 使用 5 做為 rows 引數,指出參照的左上角儲存格是 reference 下方的第五列。 Rows 可以是正數 (表示在起始參照下方) 或負數 (表示在起始參照上方)。
  • Cols 必要。 這是要結果的左上角儲存格向左或向右參照的欄數。 使用 5 作為 cols 引數,指出參照位址的左上角儲存格是 reference 右方的第五欄。 Cols 可以是正數 (表示在起始參照右方) 或負數 (表示在起始參照左方)。 [高度] 選擇性。 這是要傳回參照的列數高度。
  • Height 必須是正數。 寬度 選擇性。 這是要傳回參照的欄數寬度。
  • Width 必須是正數。


也可以透過一些計算來但判斷所要選取的範圍,例如:
=SUM(OFFSET(S3,0,$K$2,1,1):OFFSET(S3,0,$K$2+$L$2-1,1,1))

參考資料:https://support.office.com/zh-tw/article/offset-%E5%87%BD%E6%95%B8-c8de19ae-dd79-4b9b-a14e-b4d906d11b66

2019年8月14日

Excel:VBA,使用變數選擇範圍(Range)

自己試著從零開始寫的第一個VBA
Sub ()
v1 = Cells(5, 1)    '對應的列、欄位置,變數訂為v1
v2 = Cells(6, 1)    '對應的列、欄位置,變數訂為v2
'MsgBox (v1)    '訊息彈窗可以用來檢查變數v1
Range(v1 & ":" & v2).Select '選擇目標欄位(已變數回傳值所指定的範圍)
Selection.Copy  '複製所選
End Sub




其中我原本A4位置的公式=COUNTA(1:1)-1,是用來計算A5和A6的=ADDRESS(3,5,4)及=ADDRESS(3,5+A4-1,4),所以可以改寫如下:


v1 = WorksheetFunction.CountA(Range("1:1")) - 1 '計算COUNTA(1:1)-1的值,將變數訂為v1
v2 = Cells(3, 5).Address    '計算ADDRESS(3,5,4)的值,將變數訂為v2
v3 = Cells(3, 5 + v1 - 1).Address    '計算ADDRESS(3,5 +v1 -1,4)的值,將變數訂為v3
Range(v2 & ":" & v3).Select '選擇目標欄位(已變數回傳值所指定的範圍)
Selection.Copy  '複製所選






參考資料:

EXCEL VBA從頭來過-基本語法(上篇)
https://medium.com/@weilihmen/excel-vba%E5%BE%9E%E9%A0%AD%E4%BE%86%E9%81%8E-%E5%9F%BA%E6%9C%AC%E8%AA%9E%E6%B3%95-%E4%B8%8A%E7%AF%87-c2bc76065ecd

提到cells、range


MsgBox 函式
https://docs.microsoft.com/zh-tw/office/vba/language/reference/user-interface-help/msgbox-function


如何在Excel VBA使用Excel工作表中的函數
http://wordpress.bestdaylong.com/blog/archives/2547


Thread: Using "Address" function in VBA?
https://www.mrexcel.com/forum/excel-questions/341078-using-address-function-vba.html