註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excelㄧ般區
» 擷取儲存格日期問題
1
2
下一頁
返回列表
下一主題
上一主題
發帖
[發問]
擷取儲存格日期問題
msmplay
發短消息
加為好友
msmplay
當前離線
UID
17535
帖子
218
主題
73
精華
0
積分
290
金錢
290
點名
0
作業系統
WIN10
軟體版本
Office2010
閱讀權限
20
性別
女
在線時間
177 小時
註冊時間
2014-5-19
最後登錄
2022-11-29
中學生
帖子
218
主題
73
精華
0
積分
290
點名
0
作業系統
WIN10
軟體版本
Office2010
閱讀權限
20
性別
女
註冊時間
2014-5-19
最後登錄
2022-11-29
1
#
跳轉到
»
倒序看帖
打印
字體大小:
t
T
發表於 2016-7-17 00:11
|
只看該作者
[發問]
擷取儲存格日期問題
下載
(76.62 KB)
2016-7-17 00:09
說明:
B欄
公式
,主要計算A欄
日期
是否小於D欄,如小於則B欄顯示"逾期"
但因為A欄單一
儲存格
有可能會有2個以上日期不一定(例如A2:A6),但只需參考最上面第一個日期為主即可,故新增了C欄輔助欄
C欄主要是抓取A欄 "-" 以前的日期,提供給B欄公式參照
D欄則是=TODAY()公式輔助欄
問題
:
C欄公式
如何
直接合併進B欄公式內,故合併則希望可刪除C欄輔助欄
另外我發現目前C欄公式只要遇到A欄有2個以上日期(例如A2:A6),日期即便小於D欄,B欄仍不會出現"逾期",不確定是哪裡出了問題
以上求解~~~~~~非常感謝!!!!
測試檔.rar
(10.89 KB)
下載次數: 18
2016-7-17 00:10
樓主熱帖
vba開啟並抓取指定資料夾內關鍵字檔案&活頁
VBA依條件自動篩選
EXCEL簡化公式問題
存檔時自動備份檔案並轉為.xlsx格式
VBA多欄自動向下填滿
vba判斷是否已登入網頁
VBA點選儲存格指定範圍自動反色
COUNTIFS統計複數條件問題
比對符合關鍵字串帶出對應資料
VBA計算執行時間顯示為x分x秒
收藏
分享
*宅女一枚無誤*
aer
發短消息
加為好友
aer
當前離線
UID
5928
帖子
193
主題
16
精華
0
積分
239
金錢
239
點名
133
作業系統
windows xp
軟體版本
office 2007
閱讀權限
20
性別
男
在線時間
229 小時
註冊時間
2011-8-8
最後登錄
2025-6-3
中學生
帖子
193
主題
16
精華
0
積分
239
點名
133
作業系統
windows xp
軟體版本
office 2007
閱讀權限
20
性別
男
註冊時間
2011-8-8
最後登錄
2025-6-3
2
#
發表於 2016-7-17 10:45
|
只看該作者
回復
1#
msmplay
B2=IF(ISERR(FIND("-",A2))*(A2>D2),"",IF(ISERR(FIND("-",A2))*(A2<D2),"逾期",IF(FIND("-",A2),IF(DATEVALUE(MID(A2,1,FIND("-",A2,1)-2))>D2,"","逾期"))))
向下複製
請參考!
TOP
KCC
發短消息
加為好友
KCC
當前離線
UID
21955
帖子
85
主題
0
精華
0
積分
126
金錢
126
點名
0
作業系統
WIN7
軟體版本
2007
閱讀權限
20
性別
男
在線時間
452 小時
註冊時間
2015-8-31
最後登錄
2022-4-15
中學生
帖子
85
主題
0
精華
0
積分
126
點名
0
作業系統
WIN7
軟體版本
2007
閱讀權限
20
性別
男
註冊時間
2015-8-31
最後登錄
2022-4-15
3
#
發表於 2016-7-17 13:09
|
只看該作者
本帖最後由 KCC 於 2016-7-17 13:22 編輯
回復
1#
msmplay
參考你原來公式列出可能要的檢測點,可自己視需要調整公式
B2=IF((A2="")+(A2="-"),"",IF((IF(ISERR(FIND("-",A2)),A2,--(LEFT(A2,FIND("-",A2)-
2
)))<D2),"逾期","")) 下拉
1.find("-",A1), 找到"-"的位置後,因為前面還有一個換行字元(char(10), 按 alt-enter後產生),所以要減 2
若改成find char(10),就要改成減1。
2.同1原理, 不減2的話截取出來的是字串,字串和日期比大小,字串>數字,所以不會逾期。
自己用type()和len()檢測一下你截取出來的資料型態和長度就懂了。
3.用iserr和isnumber都可以,邏輯處理剛好相反,if公式對調調整一下就可。
TOP
准提部林
發短消息
加為好友
准提部林
當前離線
UID
13768
帖子
2843
主題
10
精華
0
積分
2899
金錢
2899
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
在線時間
2115 小時
註冊時間
2013-5-13
最後登錄
2025-5-31
版主
帖子
2843
主題
10
精華
0
積分
2899
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
註冊時間
2013-5-13
最後登錄
2025-5-31
4
#
發表於 2016-7-17 20:54
|
只看該作者
=IF(COUNT(0/(-LOOKUP(,-LEFT(A2,{8,9,10}))<D2)),"逾期","")
LEFT(A2,{8,9,10})
日期格式可能如下:
2016/3/1 8個字元
2016/3/12 9個字元
2016/12/1 9個字元
2016/10/23 10個字元
同時以陣列取{8,9,10}位元, 再以lookup帶出最完整日期來比對即可!
TOP
msmplay
發短消息
加為好友
msmplay
當前離線
UID
17535
帖子
218
主題
73
精華
0
積分
290
金錢
290
點名
0
作業系統
WIN10
軟體版本
Office2010
閱讀權限
20
性別
女
在線時間
177 小時
註冊時間
2014-5-19
最後登錄
2022-11-29
中學生
帖子
218
主題
73
精華
0
積分
290
點名
0
作業系統
WIN10
軟體版本
Office2010
閱讀權限
20
性別
女
註冊時間
2014-5-19
最後登錄
2022-11-29
5
#
發表於 2016-7-18 12:46
|
只看該作者
回復
5#
准提部林
准大~~好厲害ㄛ!
*宅女一枚無誤*
TOP
popomilk
發短消息
加為好友
popomilk
當前離線
UID
25251
帖子
34
主題
4
精華
0
積分
50
金錢
50
點名
0
作業系統
WIN7
軟體版本
WIN7
閱讀權限
20
性別
男
在線時間
20 小時
註冊時間
2016-7-11
最後登錄
2016-12-2
中學生
帖子
34
主題
4
精華
0
積分
50
點名
0
作業系統
WIN7
軟體版本
WIN7
閱讀權限
20
性別
男
註冊時間
2016-7-11
最後登錄
2016-12-2
6
#
發表於 2016-7-19 11:47
|
只看該作者
為什麼輸入=-LOOKUP(,-LEFT(E2,{8,9,10}))
會是出現2016/7/15
這好強
但看不懂
求准大解釋
TOP
popomilk
發短消息
加為好友
popomilk
當前離線
UID
25251
帖子
34
主題
4
精華
0
積分
50
金錢
50
點名
0
作業系統
WIN7
軟體版本
WIN7
閱讀權限
20
性別
男
在線時間
20 小時
註冊時間
2016-7-11
最後登錄
2016-12-2
中學生
帖子
34
主題
4
精華
0
積分
50
點名
0
作業系統
WIN7
軟體版本
WIN7
閱讀權限
20
性別
男
註冊時間
2016-7-11
最後登錄
2016-12-2
7
#
發表於 2016-7-19 12:01
|
只看該作者
這樣也會有一樣效果欸
=IF(-LOOKUP(,-LEFT(A2,{8,9,10}))<D2,"逾期","")
TOP
准提部林
發短消息
加為好友
准提部林
當前離線
UID
13768
帖子
2843
主題
10
精華
0
積分
2899
金錢
2899
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
在線時間
2115 小時
註冊時間
2013-5-13
最後登錄
2025-5-31
版主
帖子
2843
主題
10
精華
0
積分
2899
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
註冊時間
2013-5-13
最後登錄
2025-5-31
8
#
發表於 2016-7-19 13:43
|
只看該作者
回復
6#
popomilk
=LEFT(A2,{8,9,10}) >產生這三種結果 {"2016/7/1","2016/7/15","2016/7/15
?
"} 紅色?表示〔換行字元〕
=-LEFT(A2,{8,9,10}) >變成這三種結果 {-42552,-42566,#VALUE!} 有效日期序列值只剩2個
=-LOOKUP(,-LEFT(A2,{8,9,10})) = 42566,亦即為 2016/7/15 (LOOKUP只抓最後一個有效數值)
TOP
准提部林
發短消息
加為好友
准提部林
當前離線
UID
13768
帖子
2843
主題
10
精華
0
積分
2899
金錢
2899
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
在線時間
2115 小時
註冊時間
2013-5-13
最後登錄
2025-5-31
版主
帖子
2843
主題
10
精華
0
積分
2899
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
註冊時間
2013-5-13
最後登錄
2025-5-31
9
#
發表於 2016-7-19 13:46
|
只看該作者
回復
7#
popomilk
若A欄都存在日期,這公式可以!
但若為空格或非日期,會產生錯誤值!
TOP
ML089
發短消息
加為好友
ML089
當前離線
UID
3671
帖子
2025
主題
13
精華
0
積分
2053
金錢
2053
點名
0
作業系統
WIN7
軟體版本
Office2007
閱讀權限
100
性別
男
來自
台北市
在線時間
2405 小時
註冊時間
2011-3-2
最後登錄
2024-3-14
版主
帖子
2025
主題
13
精華
0
積分
2053
點名
0
作業系統
WIN7
軟體版本
Office2007
閱讀權限
100
性別
男
來自
台北市
註冊時間
2011-3-2
最後登錄
2024-3-14
10
#
發表於 2016-7-19 14:00
|
只看該作者
B2=IF(--LEFT(A2,FIND(CHAR(10),A2&CHAR(10))-1)<D2,"逾期","")
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式
TOP
靜思自在 :
屋寬不如心寬。
1
2
下一頁
返回列表
下一主題
上一主題
Excel程式區
一般電腦軟體討論
進階應用專區
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 ‧ 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲