2020年4月9日 星期四

特別的瀏覽網址

近來觀看網站後台流量統計,發現有下列二個特別網址:

android-app://com.google.android.googlequicksearchbox/https/www.google.com

http://10.0.65.52:15871/cgi-bin/blockOptions.cgi?ws-session=-711527042

經查詢發現,第一個 com.google.android.googlequicksearchbox 為 Android 上 的 Google app ,如用以下網址,就會出現 Google APP。

https://play.google.com/store/apps/details?id=com.google.android.googlequicksearchbox






另一個網址 blockOptions,則為 網站被某一家公司/機關/學校的 Websense 內容過濾器,阻止其使用者訪問網站的訊息,也不知我寫了什麼,會被攔???

2020年3月29日 星期日

[開放標案]還不錯的政府標案查詢系統

開放標案是 G0V 的一個專案,目的是把政府電子採購網上的標案資訊,重新整理為,讓一般民眾容易的了解政府採購資訊。其功能大約分為以下三大部分:

  1. 每日標案:除可依每月瀏覽標案資訊外,也可用招標和決標分開檢視。
  2. 相關單位:可以用機關組織檢索、廠商檢索及廠商檢索依營業類型檢索,檢索機關與廠商的基本資訊。
  3. 統計:可依各月招標統計、得標廠商排行、高額標案排行、各單位得標廠商統計。
其功能完善使用也算方便,例如現在假設我們想要找國眾電腦在108年度所得標案統計資料, 如果我們由選單操作了話,我們可以由[統計]->[得標廠商排行]裡面去找,如下畫面。


在這畫面左上可設定所要查詢的年份,經確可目前可回溯到2012年,畫面下方圖及表格,則為依年度得標金額排行所列,可以看到沒有我們要找的國眾電腦,這時我們可以在其右邊的搜尋欄中鍵入國眾,就可以找出國眾電腦年度標案資訊,如下圖所示。


這裡我們可以看到搜尋的結果,在2020年國眾電腦得標案件有20件,金額新臺幣346,420,100元,如果想看進一步的標案資訊,可點選標案檢索的前往,會跳出國眾電腦的得標案件資訊,如下圖所示。


國眾電腦的得標案件畫面會列出統計圖表,及得標案件資訊,包含招標機關名稱、標案名稱、金額、招標決標日期、得標廠商及原始的決標公告,以統計的用途來說算夠用了。如果想進一瞭解標案執行起迄、招標方式、投標廠商資訊,可在點選原始的決標公告,觀看相關資訊。


真的是要感謝 G0V 開發這個開放標案系統,否則以前要查這些資訊,只能透過付費網站取得,相當的不方便,有興趣的朋友可多多利用。






2020年3月24日 星期二

如何善用 Query 函數自動捉取最新填寫Google表單的紀錄

利用 Google 表單來製作免費的線上問卷調查,或是收集學校班級、公司、民間團體裡的各種投票、意見、資料,當填問卷者重覆填寫問卷時,要如何捉取填問卷者最新回覆的內容呢?
一般人可能會想到將Google 表單填寫的回覆內容寫入Google 試算表後,使用 vlookup 函式捉取,但使用該函式只會捉取指定範圍中的符合條件第一筆資料,而Google 表單紀錄顯示是依填充時間順序由上往下排列,因此使用vlookup 函式,只能捉到最早填寫的紀錄,如以下例子所示。


在上面紅色框我們可以看到Google 表單的紀錄是依填寫時間排列,最新填寫的紀錄,會顯示在最下列,右邊我們顯示了用 vlookup 函式,查找ID為1001人員姓名,查找的結果為「王小明」,是ID為1001中的第一筆紀錄,但通常我們會想要捉取填表者最新填寫內容,就以上例而言我們會想要捉取的名字為「王三明」
要達成上面要求,我們可以使用 query 、 index 及 rows 三個函式來達成,這三個函式中最主要的是用 query 函式找出所有符合 ID 為 1001 的姓名,在本例也就是 「王小明」「王三明」
首先使用 query 函式語法如下:
QUERY(資料, 查詢, [標題])
參數設定如下:
資料: 為所要搜尋資料範圍,在本例為 A:D 欄。
查詢: 所用的語法為 the Google Visualization API Query Language. 語法類似 SQL,在本例我們們使用下面語法
select D where B =1001
上面語法的意義是搜尋符合 B 欄 (ID) 為 1001的所有 D 欄 (姓名)的欄位。
整個語法為
query(A:D,”select D where B=1001")
上述語法執行結果如下:


用 query 函式找出符合條件資料後,接下來捉出最後一筆(最新)資料,這時可用 index 函式,語法如下:
INDEX(參照, 列, 欄 )
參數設定如下:
參照: 在此為用 query 函式找出的結果。
列: 在此我們要找最後(新)一列,我們可以用 rows 函式,傳回用 query 函式找出的結果列數。
欄: 在本例只有一欄,所以為 1。
整個語法為
index(query(A:D,”select D where B=1001"),rows(query(A:D,”select D where B=1001")),1)
上述語法執行結果如下:


我們可以看到執行的結果,是我們想要捉取的姓名為「王三明」。活用 query 、 index 及 rows 三個函式,即可捉取重覆填寫 Google 表單的最新紀錄,達到使用 vlookup 無法達到的效果。

[Excel]如何創建自定義函數

在 Excel 內建函式中找不到自已想要的函式怎麼辦?事實上我們可以自已建一個,以下是一個簡單的Excel自定義函數示例,用於將民國年轉為西元: Function 民國轉西元(x As Double) As Double     民國轉西元 = x + 1911 End Func...