顯示具有 excel 標籤的文章。 顯示所有文章
顯示具有 excel 標籤的文章。 顯示所有文章

2022年6月6日 星期一

Excel 公式無法計算

Excel 公式無法計算

3種可能原因與解法


1. 不小心按到了:Ctrl+~ 鍵

按下 Ctrl+~ 鍵,可以切換儲存顯示公式或是結果。

解決方案:再按一次 Ctrl+~ 鍵。


2. 在已被設定數值格式為:文字的儲存格中輸入公式。

所輸入的公式被認為是文字來顯示,所以沒有執行公式的運算。


3. 在 Excel 檔案/選項/進階中,設定了:在儲存格顯示公式,而不顯示計算的結果。

解決方案:取消勾選「在儲存格顯示公式,而不顯示計算的結果」。


參考來源:

Excel-為何儲存格顯示的是公式內容而非公式運算的結果 @ 學不完.教不停.用不盡 :: 痞客邦 :: (pixnet.net)

2020年6月6日 星期六

GOOGLEFINANCE > GoogleDrive > Local Excel,Excel 自動更新 股價

Excel 自動更新 股價

步驟:
1. 在GoogleDrive新增一試算表(如: stockprice),修改工作表名稱(如: stocksheet)
在Google試算表的某一格,輸入專用API如下(查詢微軟MSFT現價)
=GOOGLEFINANCE("MSFT","price")

2. 於網路上公開此試算表的工作表(stocksheet),並複製連結

3. 開啟Excel(如: localstock.xls),新增網路資料,方法如下:
[資料]>[從web]

4. 完成之後,更新步驟如下:
[資料]>[全部重新整理]


參考網址:
https://www.vertex42.com/ExcelTemplates/excel-stock-quotes.html

要查詢GOOGLEFINANCE其他語法如下:
https://support.google.com/docs/answer/3093281?hl=zh-Hant

2017年7月2日 星期日

Excel VBA 刪除空白行的程式


*情境:有個Excel檔,資料表如下

資料1
空白行1
資料2
空白行2
...
...

*撰寫VBA以自動刪除:

Sub delLoop()
Dim i
For i = 1 To 20 Step 1
Rows(i).EntireRow.Delete
Next
End Sub

寫完按F5選Sheet執行就可以
執行前請先複製一張新表,
用程式自動刪的資料是回不去的~

By Sivitry.


2017年5月7日 星期日

使用Excel建立自定義函數,計算文字的Edit Distance

使用Excel建立自定義函數,計算文字的Edit Distance
Levenshtein("saturday","sunday") = 3

步驟:
1. Excel>開發人員>Visual Basic>插入>模組
2. 貼上以下程式碼(Levenshtein是Function Name)
3. 檔案>另存新檔>Excel啟用巨集的活頁簿(*.xlsm)
4. 到同一個Excel檔的任一工作表的儲存格,輸入以下文字
     =Levenshtein("saturday","sunday")
5. 該儲存格就會呈現3


Option Explicit
Public Function Levenshtein(s1 As String, s2 As String)

Dim i As Integer
Dim j As Integer
Dim l1 As Integer
Dim l2 As Integer
Dim d() As Integer
Dim min1 As Integer
Dim min2 As Integer

l1 = Len(s1)
l2 = Len(s2)
ReDim d(l1, l2)
For i = 0 To l1
    d(i, 0) = i
Next
For j = 0 To l2
    d(0, j) = j
Next
For i = 1 To l1
    For j = 1 To l2
        If Mid(s1, i, 1) = Mid(s2, j, 1) Then
            d(i, j) = d(i - 1, j - 1)
        Else
            min1 = d(i - 1, j) + 1
            min2 = d(i, j - 1) + 1
            If min2 < min1 Then
                min1 = min2
            End If
            min2 = d(i - 1, j - 1) + 1
            If min2 < min1 Then
                min1 = min2
            End If
            d(i, j) = min1
        End If
    Next
Next
Levenshtein = d(l1, l2)
End Function


http://stackoverflow.com/questions/4243036/levenshtein-distance-in-excel

https://support.office.com/en-us/article/Create-Custom-Functions-in-Excel-2007-2f06c10b-3622-40d6-a1b2-b6748ae8231f#bmcreatingsimple

https://en.wikipedia.org/wiki/Levenshtein_distance