:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

ต้องการสูตรสำหรับ เช็คว่า ถ้ามีรหัสสินค้าเหมือนกัน ราคาต้องไม่มากกว่าของเดิม

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
lephia
Member
Member
Posts: 2
Joined: Thu Sep 21, 2017 11:28 am

ต้องการสูตรสำหรับ เช็คว่า ถ้ามีรหัสสินค้าเหมือนกัน ราคาต้องไม่มากกว่าของเดิม

#1

Post by lephia »

ต้องการทำ Data validation warning ให้ตรวจสอบว่า ถ้าเป็นรหัสสินค้าเดิม แล้วมีราคามากกว่าเดิมให้มีการแจ้งเตือน ผมควรใส่สูตรอย่างไรครับ

เช่น จากไฟล์ตัวอย่าง Row 2 รหัสสินค้า A001 ราคา 500, ตอนใส่ข้อมูล Row 4 รหัสสินค้า A001 เหมือนกัน แล้วตอนใส่ราคา 600 ให้มี warning แจ้งเตือน

ตัวอย่างไฟล์ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30738
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการสูตรสำหรับ เช็คว่า ถ้ามีรหัสสินค้าเหมือนกัน ราคาต้องไม่มากกว่าของเดิม

#2

Post by snasui »

:D กรณี A001 ในคอลัมน์ A มีหลาย ๆ เซลล์ ต้องการจะตรวจสอบกับค่าในเซลล์ใดเป็นหลักครับ :?:
lephia
Member
Member
Posts: 2
Joined: Thu Sep 21, 2017 11:28 am

Re: ต้องการสูตรสำหรับ เช็คว่า ถ้ามีรหัสสินค้าเหมือนกัน ราคาต้องไม่มากกว่าของเดิม

#3

Post by lephia »

เทียบโดยใช้คอลัมน์ D(Price)ครับ โดยจะดูจาก row ก่อนหน้าที่ input ว่าราคาที่ input นี้เกินกว่าของเก่าที่เคยมีหรือไม่

เช่น
row 1 A001 price500 ไม่เกิดอะไรขึ้นเพราะเป็นรายการครั้งแรก
row 2 A001 price600 เจอ warning (เจอ 500) แล้วสมมติว่ากด ok ยอมรับค่า
row 3 A001 price550 ไม่เกิดอะไรขึ้น เพราะก่อนหน้านี้มีราคาที่แพงกว่านี้คือ 600
row 4 A001 price700 เจอ warning เพราะก่อนหน้านี้มี 600 เป็นราคาสูงสุด

ขอบคุณมากครับ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: ต้องการสูตรสำหรับ เช็คว่า ถ้ามีรหัสสินค้าเหมือนกัน ราคาต้องไม่มากกว่าของเดิม

#4

Post by parakorn »

การใช้ Data validation จะแจ้งเตือน เฉพาะ Cell ที่ทำงานอยู่เท่านั้นครับ เช่น หากใช้ Data validation ดักไว้ที่ Column F
แต่ Column F ใส่สูตรทิ้งไว้อยู่แล้ว ต่อให้มีผลลัพท์ขึ้นเท่าไหร่ Data validation ก็ไม่แจ้งเตือนครับ

จากไฟล์ที่แนบมา ผมสมมติว่า User จะมีการคีย์จำนวนที่ Column E เพื่อหาผลลัพท์ (Column F ใส่สูตรทิ้งไว้ได้เลย)

ที่ Cell
I2 =LOOKUP(2,1/($A1:$A10<>""),$A1:$A10) Enter

J2 =IF((INDEX($F$2:$F$10,SMALL(IF($A$2:$A$10=$I$2,ROW($F$2:$F$10)-ROW($F$2)+1),COUNTIF($A$2:$A$10,$I$2)-1))+1)=1,9.99999999999999E+307,INDEX($F$2:$F$10,SMALL(IF($A$2:$A$10=$I$2,ROW($F$2:$F$10)-ROW($F$2)+1),COUNTIF($A$2:$A$10,$I$2)-1))+1) Ctrl+Shift+Enter

E2 > Data > Data Tools > Data Validation > Settings > ปรับ Allow เป็น Custom > ช่อง Formula ใส่สูตร =IF(F2<$J$2,1,0)
> Error Alert ปรับ Style เป็น Information แล้วกรอกข้อความที่ต้องการให้แจ้งเตือน > Ok
แล้ว Copy Cell E2 ลงไปด้านล่าง

Clear ข้อมูล สินค้า Column A ถึง E ทั้งหมด แล้วลองคีย์ทีละรายการดูครับ
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: ต้องการสูตรสำหรับ เช็คว่า ถ้ามีรหัสสินค้าเหมือนกัน ราคาต้องไม่มากกว่าของเดิม

#5

Post by DhitiBank »

ลองแบบนี้อีกวิธีหนึ่งครับ

1. เลือกเซลล์ F2
2. ไปที่เมนู Data validation...
  • 2.1 ที่แท็ป Settings
    • Allow: ให้เลือก custom
      Formula: ให้คีย์ =OR(COUNTIF(A$1:A1,A2)=0,F2<=MAX(IF(A$1:A1=A2,F$1:F1)))
    2.2 ที่แท็ป Error alert
    • Style: เลือก Warning
      Title กับ message จะใส่อะไรก็ได้
    2.3 OK
3. คัดลอกเซลล์ F2 >> ลากคลุม F3 ลงไปถึงแถวไหนก็ได้ที่ต้องการให้แจ้งเตือนแบบนี้ >> คลิกขวา >> paste special >> validation >> OK
2017-09-27 10_31_00-Microsoft Excel - example check price.xlsx.png
2017-09-27 10_31_53-Microsoft Excel - example check price.xlsx.png
แก้ไข
อ่อ ขออภัยครับ :shock: ผมเข้าใจผิด ไม่ได้ดูว่าคอลัมน์ F ใส่สูตรผูกเอาไว้ นึกว่าคีย์มือเอาเอง ทำตามวิธีคุณ parakorn เลยครับ
You do not have the required permissions to view the files attached to this post.
Post Reply