ฉันจะส่งคืนที่อยู่ของเซลล์ก่อนหน้าโดยตรงได้อย่างไร และใช้ในสูตรเช่น OFFSET () หรือ IF ()?
เช่น:
- เซลล์ที่มีที่อยู่ C1 คะแนนไปยังเซลล์ D30 (บนแผ่นงานเดียวกันหรืออีกเล่มหนึ่งในสมุดงานเดียวกัน)
- CELL (C1)ส่งคืน C1 ไม่ใช่ D30 และINDEX (C1)ส่งคืนค่า C1
- ช่วง ("C1") DirectPrecedentควรใช้งานได้ แต่ฉันไม่สามารถนำไปใช้กับรูปแบบการทำงานใด ๆ ได้
ฉันพยายามทำฟังก์ชั่น:
Function DirectPrecedent(rng As Range)
Range(rng).DirectPrecedents
End Function
ซึ่งดูเหมือนจะไม่ทำงาน (แต่ฉันไม่รู้จัก VBA ดังนั้นฉันจึงไม่แปลกใจที่นั่น)
ดังนั้นฉันจะทำอย่างไรเพื่อให้ได้สิ่งที่ใช้ได้:
OFFSET(DirectPrecedentOf(C1),0,3)
- เซลล์ 3 คอลัมน์ทางด้านขวาของ D30- หรือ:
IF(DirectPrecedentOf(C1)=TODAY(),"YES","NO")
- ถ้า D30 = วันที่วันนี้คืน "YES"
เป็นไปได้หรือไม่ว่าจะเป็นคะแนน C1 ถึง D30 หรือ 'Sheet2'! D30?
แก้ไข: ได้รับการแนะนำฉันชี้แจงว่าทำไมฉันต้องการสิ่งนี้ดังนั้นนี่คือข้อมูลเพิ่มเติม:
B1: OFFSET(DirectPrecedentOf(C1),0,3)
C1: 'Sheet2'!D30
'Sheet2'!D30:D40: List of dates
'Sheet2'!G30:G40: List of dollar amounts
โดยทั่วไปฉันต้องการบางอย่างเช่น "ในคอลัมน์ C, ใส่วันที่จากคอลัมน์ 'Sheet2'! D, ในเซลล์ B1, ใส่ค่าจากเซลล์สามเซลล์ทางด้านขวาของเซลล์ใดก็ตามที่ถูกเรียกในคอลัมน์ C"
VLOOKUP(C1,Sheet2!D30:G40,4,false)
Range("range").DirectPrecedents
มีอยู่ใน VBA ฉันพยายามหาวิธีใช้ในสูตรหรือหาวิธีอื่นที่ให้ผลลัพธ์เหมือนกัน ฉันจะดูที่ VLOOKUP ขอบคุณ!
Range(C1).DirectPrecedent
- ฟังก์ชัน / คุณสมบัติดังกล่าวไม่มีอยู่ใน Excel เหตุใดคุณจึงใช้งาน คุณมีโมดูล / ส่วนเสริมที่ใช้งานหรือไม่? นอกจากนี้ยังมีเซลล์จำนวนมากที่อ้างถึงในสูตรคุณต้องการใช้เซลล์ใดในกรณีนี้