By จาวิดป ในวันจันทร์ที่ 16 พฤษภาคม 2022
โพสต์ใน Excel
ตอบกลับ 12
การกดไลค์ 0
เข้าชม 8K
โหวต 0
สวัสดีทุกคน
ฉันต้องใช้ฟังก์ชัน min ยกเว้น XNUMX ในรูปแบบเพิ่มเติมและเน้นค่า แต่ฉันไม่สามารถ :(
โปรดช่วยฉันแก้ปัญหาของฉัน
ขอบคุณ
สวัสดี,

โปรดดูบทความเพื่อค้นหาคำตอบของคุณ: https://www.extendoffice.com/documents/excel/4033-excel-exclude-zero-from-min.html

เกี่ยวกับคำขอ - "เน้นค่า" คุณต้องการเน้นค่าอะไร

อแมนดา
·
1 ปีที่ผ่านมา
·
0 ชอบ
·
1 คะแนน
·
0 คอมเมนต์
·
สวัสดีที่รัก Amanda
ถังที่อ่านคำขอของฉันและขอบคุณมากสำหรับการตอบกลับของคุณ
ฉันมีตารางที่มีข้อมูลมากกว่า 5000 แถว…
ในตารางนี้ แต่ละแถว 7 ถึง 11 มีตัวเลขเดียวที่รวมเซลล์ในคอลัมน์ A!
แต่ละส่วนที่มีหมายเลขแถว 1 แถวประกอบด้วยข้อมูลของผู้ขายหลายรายเกี่ยวกับสินค้า XNUMX รายการซึ่งแต่ละรายการมีราคาของตัวเอง และสิ่งที่ฉันต้องการคือต้องมีวันที่ในแต่ละส่วนเพื่อจัดเรียงราคาที่ต่ำกว่าของผู้ขายรายใดรายหนึ่งที่ด้านบนของส่วนแถว😊
อย่างที่คุณเห็นฉันมี 2 คำขอ:
1: การเรียงลำดับข้อมูลในแต่ละส่วนของข้อมูลของฉันในส่วนของพวกเขาในราคาต่ำสุด
2:เน้นราคาต่ำสุดในแถวแรก
ฉันแก้ไขคำขอที่สองของฉันแล้วเมื่อวานนี้ แต่ฉันไม่พบคำตอบสำหรับคำขอแรกของฉัน
ฉันจะขอบคุณถ้าคุณสามารถแก้ปัญหาของฉันได้ :)
น่าเสียดายที่ฉันไม่สามารถอัปโหลดรูปภาพของตารางของฉัน :(
·
1 ปีที่ผ่านมา
·
0 ชอบ
·
0 คะแนน
·
0 คอมเมนต์
·
นี่คือภาพส่วนบางส่วนของตารางของฉัน
https://drive.google.com/file/d/1MqdJo_Xa7nilbT8YMZiJIncNfApyuOd7/view?usp=sharing
·
1 ปีที่ผ่านมา
·
0 ชอบ
·
0 คะแนน
·
0 คอมเมนต์
·
สวัสดี,

ขอบคุณสำหรับรูปภาพที่ช่วย! อย่างไรก็ตาม เราไม่เข้าใจภาษาในภาพ

ดังนั้น คุณช่วยชี้ให้เห็นว่าแต่ละส่วนที่คุณกล่าวถึงเป็นช่วงหรือไม่:
P12:U12; P19:U19; -
OR
P12:P18; P19:P25; -
·
1 ปีที่ผ่านมา
·
0 ชอบ
·
0 คะแนน
·
0 คอมเมนต์
·
สวัสดีและขอขอบคุณอีกครั้งสำหรับความสนใจของคุณที่รัก Amanda
ก่อนอื่น ภาษาที่ฉันใช้ในตารางนี้คือ FARCES
นอกจากคำถามที่สองของคุณแล้ว
ถ้าฉันเข้าใจว่าคุณหมายถึงอะไร ฉันต้องการจัดเรียงข้อมูลทั้งหมดในช่วง D12:AH18 ตามค่าต่ำสุดในเซลล์ Q12:Q18 ที่ต้องออกมาที่ด้านบนของแถวในส่วนที่ 1 และในส่วนอื่น ๆ เช่นเดียวกัน เช่น No.2 ถึงมาตรา No.712 และฉันต้องการหลังจากการเรียงลำดับนี้เมื่อจำนวนเซลล์ขั้นต่ำ Q ออกมาที่ด้านบนของส่วนแถวจะแสดงด้วยสีเหลืองในพื้นหลังและชื่อผู้ขายในเซลล์ "I" ที่แสดง พื้นหลังสีเหลืองเหมือนกันด้วย
ฉันหวังว่าฉันได้อธิบายวัตถุประสงค์และคำขอของฉันอย่างถูกต้อง
นอกจากนี้ ถ้าจำเป็น บอกให้ฉันโพสต์รูปภาพเพิ่มเติม
ขอบคุณล่วงหน้าสำหรับการตอบกลับของคุณ
·
1 ปีที่ผ่านมา
·
0 ชอบ
·
0 คะแนน
·
0 คอมเมนต์
·

ฉันต้องการจัดเรียงข้อมูลทั้งหมดในช่วง D12:AH18 ตามค่าต่ำสุดในเซลล์ Q12:Q18 ที่ต้องออกมาที่ด้านบนของแถวในส่วนที่ 1 และอื่นๆ ในส่วนอื่น เช่น No.2 ถึงส่วน No.712 และฉันต้องการหลังจากการจัดเรียงนี้เมื่อจำนวนขั้นต่ำของเซลล์ Q ออกมาที่ด้านบนของส่วนแถวซึ่งแสดงด้วยสีเหลืองในพื้นหลังและชื่อผู้ขายในเซลล์ "I" ก็แสดงพื้นหลังสีเหลืองเหมือนกันด้วย

ดังนั้น สำหรับส่วนที่ 1 คุณต้องการเรียงลำดับแถว 12-18 ตามค่าใน Q12:Q18 จากน้อยไปมาก
สำหรับภาค 2, ....

และ จำนวนเซลล์ขั้นต่ำ Q และ ชื่อผู้ขายในเซลล์ "ฉัน" พวกเขาอยู่ในแถวเดียวกัน ฉันเข้าใจถูกไหม
·
1 ปีที่ผ่านมา
·
0 ชอบ
·
0 คะแนน
·
0 คอมเมนต์
·
สวัสดีที่รัก Amanda :)
ถูกต้องครับ :)
·
1 ปีที่ผ่านมา
·
0 ชอบ
·
0 คะแนน
·
0 คอมเมนต์
·
สวัสดี,

เราได้สร้างโค้ด VBA เพื่อช่วยคุณในการจัดเรียงแถวตามส่วน โปรดดูด้านล่าง:
Sub ExtendOffice_Sort()
Dim xExtendRg, xOfficeSRgC As Range
Dim xRg As Range
Dim xRangeAddress As String
Dim xNum, xCSNum, xCENum, xRSNum, xRSNum2, xRENum As Integer
Dim xRCount As Integer
Dim xBol, xBolWS As Boolean
Dim xStr1, xStr2 As String
Dim xWSh As Worksheet
Dim xSortColumn As Integer
On Error Resume Next
Set xExtendRg = Application.InputBox("Please select the range with data to be sorted:", "ExtendOffice - Kutools for Excel", , , , , , 8)
If xExtendRg Is Nothing Then Exit Sub
Set xOfficeSRgC = Application.InputBox("Please select the column with values to be sorted from smallest to largest:", "ExtendOffice - Kutools for Excel", , , , , , 8)
If xOfficeSRgC Is Nothing Then Exit Sub
xNum = Application.InputBox("Please enter a number of rows to be sorted in a section:", "ExtendOffice - Kutools for Excel", , , , , , 1)

Set xRg = xExtendRg

Set xWSh = xRg.Worksheet

xWSh.Activate
xSortColumn = xOfficeSRgC.Column
xRCount = xRg.Rows.Count
xCSNum = xRg.Column
xCENum = xCSNum + xRg.Columns.Count - 1
xRSNum = xRg.Row
xRENum = xRSNum + xRCount - 1
xRSNum2 = xRSNum
xRSNum = (xRSNum + xNum) - 1
xBol = True
xBolWS = Application.ScreenUpdating
Application.ScreenUpdating = False
Do While xBol
xStr1 = xWSh.Cells(xRSNum2, xCSNum).Address & ":" & xWSh.Cells(xRSNum, xCENum).Address
xStr2 = xWSh.Cells(xRSNum2, xSortColumn).Address & ":" & xWSh.Cells(xRSNum, xSortColumn).Address
'Debug.Print xStr1 & " - " & xStr2

xWSh.Sort.SortFields.Clear
xWSh.Sort.SortFields.Add Key:=Range(xStr2) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With xWSh.Sort
.SetRange Range(xStr1)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
xWSh.Sort.SortFields.Clear

If (xRSNum + xNum) >= xRENum Then
If xRSNum = xRENum Then
xBol = False
Else
xRSNum2 = xRSNum + 1
xRSNum = xRENum
End If
Else
xRSNum2 = xRSNum + 1
xRSNum = (xRSNum + xNum)
End If
Loop

Application.ScreenUpdating = xBolWS

End Sub

และขออภัยที่โค้ดด้านบนไม่ได้เน้นถึงจำนวนขั้นต่ำของเซลล์ Q และชื่อผู้ขายในเซลล์ "I" เนื่องจากช่วงนี้เรายุ่งมากกับการทำงานกับผลิตภัณฑ์ของเรา
หวังว่าคุณจะเข้าใจ.

อแมนดา
·
1 ปีที่ผ่านมา
·
0 ชอบ
·
0 คะแนน
·
0 คอมเมนต์
·
สวัสดีอีกครั้งที่รัก Amanda :)
ขอขอบคุณ.
ฉันทดสอบรหัสของคุณแล้ว และแน่นอนว่ามันใช้งานได้ดี
ตอนนี้ฉันต้องเรียกใช้มันประมาณ 712 ครั้งบนโต๊ะของฉันและเลือกข้อมูลแต่ละครั้ง
หวังว่าจะได้รับรหัสเพิ่มเติมเพื่อทำคำขอครั้งต่อไปโดยเร็วที่สุด
ขอขอบคุณอีกครั้งและโชคดี.
·
1 ปีที่ผ่านมา
·
0 ชอบ
·
0 คะแนน
·
0 คอมเมนต์
·

ตอนนี้ฉันต้องเรียกใช้มันประมาณ 712 ครั้งบนโต๊ะของฉันและเลือกข้อมูลแต่ละครั้ง

คุณไม่จำเป็นต้องเรียกใช้ 712 ครั้ง

เมื่อกล่องโต้ตอบปรากฏขึ้นว่า
"โปรดเลือกช่วงที่มีข้อมูลที่จะจัดเรียง" > คุณเพียงแค่เลือกข้อมูลทั้งหมดที่จำเป็นต้องจัดเรียง ในส่วนที่ 1 ถึง 712
"กรุณาเลือกคอลัมน์ที่มีค่าที่จะจัดเรียงจากน้อยไปมาก" > เลือกคอลัมน์ Q ในกรณีของคุณ
"โปรดป้อนจำนวนแถวที่จะจัดเรียงในส่วน:" > ใส่ "7" ในกรณีของคุณ
·
1 ปีที่ผ่านมา
·
0 ชอบ
·
0 คะแนน
·
0 คอมเมนต์
·
ตกลง. และถ้าบางส่วนมีข้อมูล 7 แถวมากหรือน้อยนั้นล่ะ!
·
1 ปีที่ผ่านมา
·
0 ชอบ
·
0 คะแนน
·
0 คอมเมนต์
·
สวัสดีที่รัก Amanda
ถังที่อ่านคำขอของฉันและขอบคุณมากสำหรับการตอบกลับของคุณ
ฉันมีตารางที่มีข้อมูลมากกว่า 5000 แถว…
ในตารางนี้ แต่ละแถว 7 ถึง 11 มีตัวเลขเดียวที่รวมเซลล์ในคอลัมน์ A!
แต่ละส่วนที่มีหมายเลขแถว 1 แถวประกอบด้วยข้อมูลของผู้ขายหลายรายเกี่ยวกับสินค้า XNUMX รายการซึ่งแต่ละรายการมีราคาของตัวเอง และสิ่งที่ฉันต้องการคือต้องมีวันที่ในแต่ละส่วนเพื่อจัดเรียงราคาที่ต่ำกว่าของผู้ขายรายใดรายหนึ่งที่ด้านบนของส่วนแถว😊
อย่างที่คุณเห็นฉันมี 2 คำขอ:
1: การเรียงลำดับข้อมูลในแต่ละส่วนของข้อมูลของฉันในส่วนของพวกเขาในราคาต่ำสุด
2:เน้นราคาต่ำสุดในแถวแรก
ฉันแก้ไขคำขอที่สองของฉันแล้วเมื่อวานนี้ แต่ฉันไม่พบคำตอบสำหรับคำขอแรกของฉัน
ฉันจะขอบคุณถ้าคุณสามารถแก้ปัญหาของฉันได้ :)
น่าเสียดายที่ฉันไม่สามารถอัปโหลดรูปภาพของตารางของฉัน :(


ฉันคิดว่าทุกส่วนของคุณมีจำนวนแถวเท่ากัน
ถ้าไม่อย่างนั้น....
·
1 ปีที่ผ่านมา
·
0 ชอบ
·
0 คะแนน
·
0 คอมเมนต์
·
ดูโพสต์แบบเต็ม