=max(len)
เฉพาะ?
=max(len)
เฉพาะ?
คำตอบ:
Excel มีสูตรดั้งเดิมหลายอย่างที่อนุญาตให้คุณสร้าง / ใช้อาร์เรย์ตัวอย่างเช่น
SUMPRODUCT()
INDEX()
OFFSET()
SUMIFS()
COUNTIFS()
AVERAGEIFS()
การรู้สูตรดั้งเดิมเหล่านี้จะช่วยให้คุณหลีกเลี่ยงสูตรอาร์เรย์ CSE ในกรณีส่วนใหญ่
ตัวอย่างเช่นลองทำตามช่วงที่มีหมายเลข:
=LEN(MAX(INDEX(C2:C14,,1)))
นอกจากนี้จากการอภิปรายด้านล่างสูตรนี้จะใช้ได้กับทุกช่วงที่มีหมายเลขและไม่ใช่ / ผสม:
=MAX(INDEX(LEN(C2:C14),,1))
=max(len)
?
=max(len(index...
ดูเหมือนจะไม่ให้ผลลัพธ์เดียวกัน ไม่วิจารณ์ +1
=MAX(INDEX(LEN(C2:C14),,1))
สิ่งนี้จะระบุรายการที่ไม่ใช่ตัวเลข
วิธีแก้ปัญหาหนึ่งสำหรับข้อ จำกัด นี้คือสร้าง VBA Sub ขนาดเล็กและกำหนดให้แป้นพิมพ์ลัดที่คุณเลือก
สิ่งนี้จะแปลงช่วงที่เลือกไปเป็นสูตรอาร์เรย์
Sub ConvertToArrayFormula()
Dim rng As Range
Dim arr As Range
Set rng = Selection
For Each arr In rng.Areas
arr.FormulaArray = arr.Cells(1, 1).Formula
Next
End Sub
คำตอบเดียวคือการพัฒนาโซลูชันของคุณโดยใช้ชื่อสำหรับทั้งช่วงและสูตร
ดังนั้นรูปลักษณ์ของสูตรของคุณอาจได้รับการปรับปรุงโดยการกำหนด 'v' เพื่ออ้างถึง = C2: C14 สูตร = MAX (LEN (v)) ยังคงต้องป้อนอาร์เรย์ แต่ถ้าคุณกำหนด 'n' เพื่ออ้างถึง = LEN (v) การคำนวณอาร์เรย์จะดำเนินการตามพฤติกรรมเริ่มต้นของสูตรที่ตั้งชื่อ ดังนั้น = MAX (n) ทำงานโดยไม่ใช้รายการ CSE