Present Perfect แบบไม่ต้องตื่นตระหนก: ไวยากรณ์ของเวลาที่ยังไม่จบ
คุณอยู่ในการประชุม มีคนถามว่า "Did you send the file?" คุณตอบว่า "I have sent it." ดีมาก นิ่ง สุภาพ มืออาชีพ แล้วมีคนถามต่อว่า "When?" คุณตอบว่า "I have sent it yesterday." ทันใดนั้นโต๊ะไวยากรณ์ก็พลิกคว่ำ เก้าอี้เลื่อนไปทั่วห้อง และ present perfect กลับมาดูน่าสงสัยอีกครั้ง
Present perfect มีชื่อเสียงค่อนข้างดราม่า แต่แก่นของมันเป็นมิตรมาก: มันเชื่อมอดีตกับปัจจุบัน มันไม่ได้แค่พูดว่า "สิ่งนี้เกิดขึ้นแล้ว" แต่มันพูดว่า "สิ่งนี้เกิดขึ้นแล้ว และมีความหมายกับตอนนี้"
Quick Answer
ใช้ present perfect เมื่อการกระทำในอดีตเชื่อมกับปัจจุบัน
รูปพื้นฐานคือ:
subject + have / has + past participle
- I have finished.
- She has arrived.
- They have changed the schedule.
Present perfect มักปรากฏในสี่สถานการณ์:
- ผลลัพธ์สำคัญตอนนี้: I have lost my badge.
- ช่วงเวลายังไม่จบ: We have had three meetings today.
- นับประสบการณ์ชีวิตจนถึงตอนนี้: He has visited London.
- สถานการณ์เริ่มในอดีตและยังต่อเนื่องตอนนี้: They have lived here for six years.
ถ้าประโยคระบุเวลาที่จบแล้วในอดีต เช่น yesterday, last week, หรือ in 2022 ให้ใช้ simple past แทน
The Pattern
ลองนึกว่า present perfect เป็นสะพาน ปลายหนึ่งอยู่ในอดีต อีกปลายแตะอยู่กับตอนนี้
Simple past ชี้ไปที่เหตุการณ์ที่จบแล้ว:
- I broke my glasses yesterday.
Present perfect ชี้ไปที่เหตุการณ์ในอดีตที่มีผลในปัจจุบัน:
- I have broken my glasses, so I cannot read the screen.
แว่นแตกเกิดในอดีต แต่ปัญหานั่งอยู่ตรงนี้ในปัจจุบัน
Present perfect ชอบคำบอกเวลาที่ยังไม่จบ:
- today
- this week
- this month
- this year
- recently
- lately
- so far
- up to now
ทำไม เพราะช่วงเวลายังเปิดอยู่ ถ้าตอนนี้บ่ายสอง today ยังไม่จบ ยังมีเรื่องอื่นเกิดขึ้นได้อีกในวันนี้
- I have answered twelve emails today.
นั่นหมายความว่าวันนี้ยังเดินต่ออยู่ จำนวนอีเมลอาจเพิ่มขึ้นได้อีก เพราะอีเมลบางครั้งก็เหมือนเครื่องจักรที่กินความสงบเป็นอาหารเช้า
Present perfect ไม่ค่อยรักคำบอกเวลาที่จบแล้ว:
- yesterday
- last night
- last year
- two days ago
- in 2020
- when I was a child
คำเหล่านี้ปิดประตูของช่วงเวลา ใช้ simple past:
- I answered twelve emails yesterday.
คำถามที่ง่ายที่สุดคือ: ช่วงเวลานี้ยังรับเหตุการณ์เพิ่มได้ไหม
ถ้าได้ present perfect อาจใช้ได้:
- I have made three calls this morning. ตอนนี้ยังเป็นตอนเช้า
- We have had two delays this week. สัปดาห์นี้ยังดำเนินอยู่
ถ้าไม่ได้ simple past มักเหมาะกว่า:
- I made three calls this morning. ตอนนี้เป็นตอนเย็นแล้ว
- We had two delays last week. สัปดาห์ที่แล้วปิดไปแล้ว
นี่คือเหตุผลที่วลีเดียวกันเปลี่ยนได้ขึ้นอยู่กับเวลาที่คุณพูด ตอน 10 โมงเช้า this morning ยังไม่จบ ตอน 2 ทุ่ม มันจบแล้ว ไวยากรณ์ไม่ได้พยายามหลอกคุณ มันแค่ตรวจว่าหน้าต่างเวลายังเปิดอยู่หรือไม่
Natural Examples
Present result
ใช้ present perfect เมื่อผลลัพธ์สำคัญตอนนี้
- I have lost my phone. Can you call it?
- She has left the office. You should email her.
- The price has changed. We need to update the quote.
- Someone has eaten the last cookie. The meeting may never recover.
เวลาที่แน่นอนไม่ใช่ตัวเอก ผลลัพธ์ปัจจุบันต่างหากที่เป็นตัวเอก
Unfinished time
ใช้ present perfect กับช่วงเวลาที่ยังดำเนินต่อ
- We have received five applications this week.
- I have had two cups of coffee today.
- The team has fixed several bugs this month.
- Sales have improved this quarter.
สัปดาห์ วัน เดือน และไตรมาสยังเปิดอยู่ ดังนั้นจำนวนที่นับจึงเชื่อมกับตอนนี้
Life experience
ใช้ present perfect เพื่อพูดถึงประสบการณ์จนถึงตอนนี้
- Have you ever tried indoor climbing?
- She has never missed a deadline.
- I have seen that movie before.
- They have worked with international clients.
จุดเน้นคือประสบการณ์นั้นมีอยู่ในบันทึกชีวิตหรือไม่ ไม่ใช่เกิดขึ้นเมื่อไหร่
ถ้าให้เวลาที่แน่นอน ให้เปลี่ยนเป็น simple past:
- I saw that movie last summer.
Continuing situations
ใช้ present perfect กับ for และ since เมื่อบางอย่างเริ่มในอดีตและยังดำเนินต่อ
- I have lived here for three years.
- She has known him since college.
- We have used this software since January.
- They have been open for ten minutes.
ใช้ for กับความยาวของเวลา:
- for two hours
- for a week
- for ten years
ใช้ since กับจุดเริ่มต้น:
- since Monday
- since 2021
- since the meeting ended
Present perfect continuous
บางครั้งคุณต้องการเน้นระยะเวลาหรือกิจกรรม ใช้:
have / has been + -ing
- I have been studying all morning.
- She has been waiting for twenty minutes.
- The team has been testing the new design.
Present perfect continuous มักให้ความรู้สึก active ชั่วคราว หรือเน้นกระบวนการ ส่วน present perfect simple มักเน้นผลลัพธ์
- I have written three pages. ผลลัพธ์: มีสามหน้าแล้ว
- I have been writing for three hours. ระยะเวลา: ความพยายามดำเนินมาต่อเนื่อง
Already, yet, and just
คำเล็กๆ สามคำนี้มักเดินทางกับ present perfect
ใช้ already กับสิ่งที่เสร็จเร็วกว่าที่คาดหรือเสร็จก่อนตอนนี้:
- I have already sent the invitation.
ใช้ yet ในคำถามและประโยคปฏิเสธเมื่อมีสิ่งที่คาดว่าจะเกิด:
- Have you finished yet?
- I have not finished yet.
ใช้ just กับการกระทำที่เพิ่งเกิดไม่นาน:
- She has just joined the call.
- The download has just completed.
คำเหล่านี้มีประโยชน์เพราะชี้มาที่ปัจจุบัน การกระทำอยู่ในอดีต แต่คำถามเกี่ยวกับตอนนี้: ตอนนี้เสร็จหรือยัง ตอนนี้ยังไม่เสร็จใช่ไหม เพิ่งเกิดก่อนตอนนี้นิดเดียวหรือเปล่า
Common Traps
Trap 1: Present perfect กับเวลาที่จบแล้ว
อย่ารวม present perfect กับเวลาปิดในอดีต
- I have finished the report yesterday.
- I finished the report yesterday.
ถ้าเวลาที่ผ่านมาเป็นเวลาที่เฉพาะและจบแล้ว simple past มักเป็นตัวเลือกปกติ
Trap 2: ลืมความเชื่อมโยงกับปัจจุบัน
ถ้าเหตุการณ์เป็นแค่รายละเอียดในเรื่องเล่า simple past อาจดีกว่า
- We visited the new office in March.
ประโยคนี้รายงานเหตุการณ์ในอดีตเฉยๆ Present perfect จะฟังแปลกเมื่อใช้กับ in March
Trap 3: สับสน for กับ since
ใช้ for กับระยะเวลา และ since กับจุดเริ่มต้น
- for five minutes
- since 8:30
Trap 4: ใช้ present perfect กับข้อเท็จจริงทางประวัติศาสตร์ที่จบไปแล้ว
ถ้าคน องค์กร หรือช่วงเวลาไม่สามารถดำเนินต่อได้แล้ว simple past มักเหมาะกว่า
- The scientist discovered the effect in 1912.
วันที่แน่นอน และเหตุการณ์เป็นประวัติศาสตร์
Trap 5: คิดว่า present perfect แปลว่า "เพิ่งเกิด" เสมอ
Present perfect อาจเป็นเรื่องล่าสุด:
- I have just arrived.
แต่ก็อาจบรรยายประสบการณ์ชีวิต:
- I have visited Rome twice.
กุญแจคือความเชื่อมโยงกับตอนนี้ ไม่ใช่ความใหม่อย่างเดียว
Wrong / Better / Why
| Wrong | Better | Why |
|---|---|---|
| I have seen him yesterday. | I saw him yesterday. | Yesterday เป็นเวลาที่จบแล้วในอดีต |
| She lived here since 2020. | She has lived here since 2020. | สถานการณ์เริ่มในอดีตและยังต่อเนื่องตอนนี้ |
| We have completed the form last week. | We completed the form last week. | Last week ปิดไปแล้ว |
| Have you ever went there? | Have you ever been there? | Present perfect ต้องใช้ past participle |
| I am here for three hours. | I have been here for three hours. | สภาพเริ่มก่อนหน้านี้และต่อเนื่องถึงตอนนี้ |
| They have been finished the task. | They have finished the task. | ผลลัพธ์ที่เสร็จแล้วใช้ present perfect simple |
Mini Practice
เลือกประโยคที่ดีกว่า
a. I have eaten lunch already.
b. I ate lunch already yesterday.a. She has worked here since May.
b. She worked here since May.a. We have visited the museum in 2021.
b. We visited the museum in 2021.a. Have you ever tried this app?
b. Did you ever tried this app?a. I have been waiting for half an hour.
b. I wait since half an hour.a. The train has arrived. It is at platform 2.
b. The train arrived last Monday. It is at platform 2.
Answer Key
- a - ผลลัพธ์สำคัญตอนนี้: กินมื้อกลางวันเสร็จแล้ว
- a - งานเริ่มในเดือนพฤษภาคมและยังดำเนินอยู่
- b - ประโยคให้ปีในอดีตที่จบแล้ว
- a - ประสบการณ์ชีวิตจนถึงตอนนี้ใช้ present perfect
- a - ระยะเวลาที่ต่อถึงตอนนี้ใช้ present perfect continuous
- a - การมาถึงของรถไฟมีผลในปัจจุบัน
Tiny Summary
Present perfect คือไวยากรณ์ของเวลาที่ยังไม่จบและความเชื่อมโยงกับปัจจุบัน ใช้มันเมื่ออดีตยื่นมาถึงตอนนี้: ผลลัพธ์สำคัญ ช่วงเวลายังเปิดอยู่ ประสบการณ์เป็นส่วนหนึ่งของชีวิตจนถึงตอนนี้ หรือสถานการณ์เริ่มก่อนและยังต่อเนื่อง ถ้าประโยคให้เวลาที่จบแล้วในอดีต simple past มักชนะ คำถามไม่ใช่ "มันอยู่ในอดีตไหม" แต่คือ "อดีตยังแตะปัจจุบันอยู่ไหม"
