การใช้สูตร IF ในการเปลี่ยนเส้นทางการส่งค่า

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

image164

ตัวอย่าง กำหนดให้ส่งค่าจากเซลล์ Source ไปยังเซลล์ Target1 หรือ Target2 ตามเงื่อนไขต่อไปนี้

  • หาก Source มีค่าน้อยกว่า 0 เช่นมีค่าเป็นเลข -111 ให้ส่งค่า -111 ไปยังเซลล์ Target1
  • หาก Source มีค่ามากกว่าหรือเท่ากับ 0 เช่นมีค่าเป็นเลข 222 ให้ส่งค่า 222 ไปยังเซลล์ Target2

เริ่มต้นจากให้ตั้งชื่อ Source, Target1, Target2 ให้กับเซลล์ C2, C5 ,C6 ตามลำดับและตั้งชื่อ Target เป็น Formula Name มีค่าเป็นสูตร

=IF( Source<0, Target1, Target2)

จากนั้นให้สร้างชุดคำสั่งนี้ลงไปใน Visual Basic Editor

Sub SendData()

MyVar = [Source]

[Target] = MyVar

End Sub

  1. ชุดคำสั่งนี้จะรับค่าที่เก็บไว้ในเซลล์ที่ตั้งชื่อไว้ว่า Source ไปเก็บไว้ที่ตัวแปรที่มีชื่อว่า MyVar
  2. จากนั้นค่าที่เก็บไว้ใน MyVar จะถูกส่งต่อไปยัง Formula Name ที่ตั้งชื่อไว้ว่า Target
  3. เนื่องจาก Target เป็นสูตร =IF( Source<0, Target1, Target2) จึงทำหน้าที่ตรวจสอบค่าที่รับมาจาก Source ก่อนแล้วจึงเลือกส่งค่าไปยังเซลล์ที่ตั้งชื่อว่า Target1 หรือ Target2 ตามเงื่อนไขที่กำหนดไว้ข้างต้นต่อไป

Related Articles

© Copyright 1999

สงวนลิขสิทธิ์ตามกฎหมาย

ห้ามนำข้อความหรือส่วนหนึ่งส่วนใดของบทความหรือวิดีโอหรือรูปภาพไปใช้เพื่อการค้าขาย หรือเพื่อประโยชน์ส่วนตัว

อนญาตให้นำไปใช้เพื่อสาธารณประโยชน์โดยขอให้ระบุที่มาและชื่อผู้เขียนกำกับไว้ด้วยเสมอ

ลิงก์เว็บ Excel Expert Training

เว็บสำหรับ เรียนออนไลน์

เว็บสำหรับ เรียนแบบกลุ่ม-ส่วนตัว

ติดตามข่าวสารได้จาก facebook

ถามปัญหาได้ที่ กลุ่มคนรัก Excel

และไลน์กลุ่ม Excel Expert Group

หรือ Excel Expert Forum

ที่อยู่และการติดต่อ

สมเกียรติ ฟุ้งเกียรติ 7/1 รามคำแหง ซอย 35 หัวหมาก บางกะปิ กทม 10240 โทร 097-140-5555, 02-718-9331

Excel@ExcelExpertTraining.com

SFK MVPLogoH60