รับเนื้อหาของเซลล์ตามหมายเลขแถวและคอลัมน์


96

ฉันต้องการรับเนื้อหาของเซลล์ตามหมายเลขแถวและคอลัมน์ หมายเลขแถวและคอลัมน์จะถูกเก็บไว้ในเซลล์ (ที่นี่ B1, B2) ฉันรู้ว่าวิธีแก้ปัญหาต่อไปนี้ใช้ได้ผล แต่พวกเขารู้สึกแฮ็คนิดหน่อย

โซล 1

=CELL("contents",INDIRECT(ADDRESS(B1,B2)))

โซล 2

=CELL("contents",OFFSET($A$1, B1-1,B2-1))

ไม่มีวิธี verbose น้อยกว่านี้หรือไม่? (เช่น = CellValue (row, col) หรืออะไรก็ตาม)?

แก้ไข / ชี้แจง: ฉันแค่ต้องการใช้สูตรแผ่นงาน excel ไม่มี VBA ในระยะสั้นฉันค่อนข้างมองหาวิธีการที่เทียบเท่ากับ VBA Cells () เป็นสูตร excel


เราขอบริบทเพิ่มเติมหน่อยได้ไหม คุณใช้แค่สูตร Excel หรือไม่? VBA? วิธีอื่นบ้าง?
Saladin Akara

คำตอบ:


141

คุณไม่จำเป็นต้องมีส่วน CELL () ในสูตรของคุณ:

=INDIRECT(ADDRESS(B1,B2))

หรือ

=OFFSET($A$1, B1-1,B2-1)

ทั้งสองจะทำงาน โปรดทราบว่าทั้งสองINDIRECTและOFFSETเป็นฟังก์ชันที่ผันผวน ฟังก์ชันที่ผันผวนสามารถทำให้การคำนวณช้าลงได้เนื่องจากมีการคำนวณจากการคำนวณใหม่ทุกครั้ง


สิ่งนี้มีประโยชน์มากพอที่ฉันต้องการเห็นการแก้ไขเพื่อให้มีวงเล็บปิดจำนวนที่ถูกต้อง
Wyck

6
ได้รับความนิยมของคำถามนี้ / คำตอบมันจะดีที่จะมีประโยคเล็ก ๆ น้อย ๆ ที่นี่เกี่ยวกับสิ่งที่ฟังก์ชั่นความผันผวนเป็น
LondonRob

โปรดทราบว่าในรูปแบบที่สองขึ้นอยู่กับ $ a $ 1 คุณจะต้องไม่ย้าย $ a $ 1 ในการแก้ไขแผ่นงานในภายหลัง
เอิร์ก

INDIRECT+ ADDRESSคือหนทางที่จะไป Excel ในภาษาของฉันแปลOFFSETเป็น 2 คำโดยคั่นด้วยจุด นั่นเป็นสิ่งที่เลวร้ายที่สุด (ร่วมกับเครื่องหมายในชื่อฟังก์ชัน)!
Bitterblue

29

ลอง = ดัชนี (ARRAY, ROW, COLUMN)

โดยที่: Array: เลือกทั้งแผ่น Row, Column: การอ้างอิงแถวและคอลัมน์ของคุณ

ที่ควรจะเข้าใจง่ายขึ้นสำหรับผู้ที่ดูสูตร


2

ฉันใช้เวลาสักพัก แต่นี่คือวิธีที่ฉันทำให้ไดนามิก ไม่ขึ้นอยู่กับตารางที่เรียงลำดับ

ก่อนอื่นฉันเริ่มต้นด้วยคอลัมน์ชื่อรัฐ (คอลัมน์ A) และคอลัมน์ของเครื่องบินในแต่ละรัฐ (คอลัมน์ B) (แถวที่ 1 คือแถวส่วนหัว)

การค้นหาเซลล์ที่มีจำนวนเครื่องบินคือ:

=MATCH(MAX($B$2:$B$54),$B$2:$B$54,0)+MIN(ROW($B$2:$B$54))-1

ฉันใส่มันลงในเซลล์แล้วตั้งชื่อเซลล์นั้นว่า "StateRow" จากนั้นใช้เคล็ดลับจากด้านบนฉันสรุปสิ่งนี้:

=INDIRECT(ADDRESS(StateRow,1))

ส่งคืนชื่อของสถานะจากค่าไดนามิกในแถว "StateRow" คอลัมน์ 1

ตอนนี้เนื่องจากค่าในคอลัมน์ count เปลี่ยนไปเมื่อเวลาผ่านไปเมื่อมีการป้อนข้อมูลมากขึ้นฉันมักจะรู้ว่าสถานะใดมีเครื่องบินมากที่สุด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.