ผสานข้อมูลจากหลายคอลัมน์ - ผลการสำรวจ SharePoint


-1

ฉันใช้ SharePoint เพื่อรวบรวมข้อมูลผ่านคุณสมบัติการสำรวจ อย่างไรก็ตามฉันต้องการทำให้ข้อมูลเอาต์พุตสามารถจัดการได้ง่ายขึ้น ดังนั้นฉันต้องการนำคอลัมน์หลาย ๆ คอลัมน์มารวมเข้าด้วยกัน

ปัจจุบันดูเหมือนว่านี้:

Name 1  Address 1  Age 1 Name 2 Address 2 Age 2 Name 3 Address 3 Age 3 Date

John    My Home   50 Mary Your Home 40 James Our Home 70 01/31/1991 

ฉันอยากให้มันเป็นแบบนี้:

**Name Address Age Date** 

John My Home 50  01/31/1991 

Mary Your Home 40 01/31/1991

James Our Home 70 01/31/1991

แบบสำรวจมีการปรับปรุงอย่างต่อเนื่องดังนั้นแมโคร / vba ที่ดึงข้อมูลจากแผ่นงานเดียวและสร้างด้วยวิธีนี้จะดีกว่า

นอกจากนี้คำเตือนก็คือบางครั้งเซลล์ในคอลัมน์ใดคอลัมน์หนึ่งอาจว่างเปล่า ดังนั้นฉันต้องการแน่ใจว่าสูตรไม่หยุดเพราะเห็นเซลล์ว่าง แต่คัดลอกจากบนลงล่างจากคอลัมน์หนึ่งไปยังอีก

สุดท้าย แต่ไม่ท้ายสุดมีข้อมูลอื่นในเซลล์พร้อมขั้นตอนอื่น ๆ ที่ฉันอาจเพิ่มลงในแมโคร แต่นี่คือขั้นตอนจำนวนมากที่ฉันไม่สามารถหาได้

ขอบคุณล่วงหน้าสำหรับความช่วยเหลือของ !

ข้อความค้นหาที่คล้ายกัน (ดูเหมือน): Excel 2010 ย้ายข้อมูลจากหลายคอลัมน์ / แถวไปยังแถวเดียว


สวัสดียินดีต้อนรับสู่ SU! น่าเสียดายที่เราไม่ใช่บริการเขียนสคริปต์ แต่เราสามารถ / จะช่วยเหลือเฉพาะด้าน คุณมีอะไรมาจนถึงตอนนี้คุณติดอยู่ตรงไหนและคุณพยายามทำอะไรเพื่อให้ผ่านจุดที่คุณติดอยู่? หากคุณไม่แก้ไขคำถามของคุณเพื่อให้ข้อมูลนั้นและใส่คำถามลงในบริบทดังกล่าวส่วนใหญ่จะถูกปิดเป็น Too Broad หรือ Off-Topic
Ƭᴇcʜιᴇ007

ถูกต้องขอบคุณการชี้แจง @ Ƭᴇcʜιᴇ007! ฉันติดอยู่กับสูตรที่สามารถทำได้ จนถึงตอนนี้ฉันได้ใช้ "ISNUMBER" ซึ่ง fx ดูในคอลัมน์ที่ตั้งไว้สำหรับค่าและส่งกลับ "TRUE" หรือ "FALSE" เป็นข้อความในคอลัมน์ที่ตรงกัน จากนั้นแผนจะใช้ vlookup และทุกที่ที่คืนค่าจริงคอลัมน์จะคัดลอก อย่างไรก็ตามมีมากกว่าหนึ่งคอลัมน์แยกออกจากกัน ดังนั้นฉันไม่แน่ใจว่าจะผ่านมันไปได้อย่างไรทั้งแผ่นไม่ใช่แค่หนึ่งคอลัมน์ "Transpose" หรือ "Concatenate" ช่วยได้ไหม
Joel

คำตอบ:


0

มีวิธีง่ายๆในการทำเช่นนี้หากไม่มี VBA เพียงแค่ใช้การอ้างอิงเซลล์ ดูเหมือนว่าตัวอย่าง "แหล่งที่มา" ของคุณใช้คอลัมน์ A: J และฉันจะถือว่ามีส่วนหัวของคอลัมน์ดังนั้นข้อมูลเริ่มต้นในแถวที่ 2 ฉันจะสมมติว่าแผ่นข้อมูลผลลัพธ์ของคุณมีส่วนหัวของคอลัมน์ และใช้คอลัมน์ A: D สูตรด้านล่างมีพื้นฐานมาจากเค้าโครงนี้ดังนั้นคุณอาจจำเป็นต้องปรับเปลี่ยนเค้าโครงอื่นหรือใส่ข้อมูลลงในตำแหน่งเหล่านั้น ดังนั้นนี่คือแหล่งข้อมูล:

Source

ผลลัพธ์จะเป็นดังนี้:

Result

ทุกอย่างใช้ "1 1 / 2 "สูตรเนื่องจากวันที่ถูกอ้างอิงจากที่เดียวกันสำหรับสามแถวมันเป็นสูตรหลักที่แก้ไขเล็กน้อยสูตรหลักคือ:

=INDIRECT("sheet1!r"&CEILING((ROW()-1)/3,1, )+1&"c"&COLUMN()+MOD((ROW()+1)/3,1)*9,0)

คุณสามารถป้อนลงใน A2 และคัดลอกไปยังคอลัมน์ B และ C และคัดลอกลงเพื่อเติมข้อมูลแถวล่วงหน้าได้มากเท่าที่คุณต้องการ เมื่อคุณต้องการมากขึ้นเพียงเติมจำนวนแถวเพิ่มเติมโดยพลการล่วงหน้า

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

คอลัมน์วันที่เพียงแก้ไขการอ้างอิงคอลัมน์กับคอลัมน์ 10 ของแหล่งที่มา:

=INDIRECT("sheet1!r"&CEILING((ROW()-1)/3,1, )+1&"c10",0)

สิ่งนี้สร้างผลลัพธ์ของ 0 สำหรับเซลล์แหล่งที่ว่างเปล่า วิธีที่ง่ายที่สุดในการซ่อนนั่นคือการตั้งค่ามุมมองหน้าให้ไม่แสดงค่าเป็นศูนย์ ฉันทำอย่างนั้นที่นี่ สูตรจะเติมข้อมูลล่วงหน้าในแถวถัดจาก Bert มันจะซ่อนเซลล์ว่างแต่ละรายการ

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