คำถามติดแท็ก microsoft-excel

แอปพลิเคชันสเปรดชีตโดย Microsoft ใช้แท็กนี้พร้อมกับ [vba] หากคำถามของคุณเกี่ยวข้องกับการเขียนโปรแกรม Excel ใน VBA และด้วย [worksheet-function] ถ้าเกี่ยวข้องกับสูตร Excel หรือฟังก์ชันแผ่นงาน

1
ทวีคูณผลรวมของเซลล์หนึ่งถ้าเซลล์อื่นแสดงค่า
ฉันได้เพิ่มเซลล์ที่ซ่อนอยู่ (T259) ซึ่งคำนวณ 10% ของเซลล์ U78 หากเลือก "ข้อต่อปูน" ในเอกสารข้อตกลงการขาย ฉันต้องการเพิ่มฟังก์ชั่นในเซลล์ U78 เพื่อเพิ่มมูลค่า T259 ฉันได้รับ "ข้อผิดพลาดการโต้แย้งมากเกินไป" นี่คือสูตรที่ส่งคืนข้อผิดพลาด = IF (T74 = "1 / 2Dry Stack", 0.1, IF (T74 = "DryMortar Joint", - 0.1,0, IF ('ข้อตกลงการขาย'! G23 = "Mortar Joint w / สีเทามาตรฐาน", 0.1,0) )) ขออภัยฉันย้ายไปข้างหน้าโดยไม่อัปเดตคำถามเนื่องจากปัญหานี้ละเอียดอ่อนด้านเวลา [อัปเดต] โดยทั่วไปในภาพหน้าจอคุณจะเห็นเซลล์ U78 ฉันต้องการมัน เพิ่มหรือลบส่วนเพิ่ม 10% …

0
ข้อผิดพลาดขณะทำงาน 52 ชื่อหรือหมายเลขไฟล์ไม่ถูกต้องเมื่อพยายามเปิดไฟล์ข้อความ
fPath = "\\teams\Shared Documents\" Filename = "TEST.txt" InputFile = fPath & Filename FileNum = FreeFile Open InputFile For Binary As #FileNum '---- here user gets error 52 ผู้ใช้ได้รับ "ข้อผิดพลาดรันไทม์ 52 ชื่อไฟล์หรือหมายเลขไม่ถูกต้อง" พยายามเปิดไฟล์ข้อความใน excel และเปิดขึ้นมาได้ดี ดังนั้นฉันคิดว่าไม่มีปัญหาในเส้นทางหรือไฟล์ คุณช่วยฉันแก้ไขปัญหานี้ได้ไหม

1
การกรองโดยใช้ค่าของเซลล์อื่นเป็นตัวกรอง
ฉันมีสองรายการ: รายการ "master" หนึ่งรายการที่มีชื่อผู้ใช้และหมายเลขพนักงานทั้งหมด รายการอื่นของพนักงานสุ่ม 100 หมายเลข ฉันต้องการกรองรายการตาม "หมายเลขพนักงานสุ่ม" อะไรจะเป็นวิธีที่ง่ายที่สุดในการทำสิ่งนี้?

0
Excel VBA อัพเดทข้อมูลกราฟ
ฉันมีแผนภูมิหลายชุดที่อ้างอิงชุดข้อมูลหนึ่งชุด แผนภูมิแต่ละชุดมีจำนวนชุดที่แตกต่างกัน แต่ละชุดอ้างถึงแถวหนึ่งของชุดข้อมูลสำหรับคอลัมน์จำนวนหนึ่ง (เช่น A1: Z1) ในระหว่างการอัปเดตฉันต้องการเปลี่ยนข้อมูลสำหรับทุกซีรี่ส์ตาม 1 คอลัมน์ (เช่น A1: Z1 - & gt; B1: AA1) ตัวเลือกคอลัมน์สำหรับทุกซีรี่ส์จะเหมือนกัน แนวทางของฉันตอนนี้คือการดูแผนภูมิทั้งหมดในแต่ละแผนภูมินับจำนวนชุดสำหรับแต่ละชุดบันทึกหมายเลขแถวและอัปเดตด้วยคอลัมน์ใหม่ ปัญหาของฉันอยู่ที่การดึงหมายเลขแถว ฉันพยายามทำ foo = ActiveChart.SeriesCollection(1).Values ด้วยความตั้งใจที่จะดึงหมายเลขแถวออกจากสตริง (ซึ่งยอมรับว่าไม่สวยงาม) แต่คุณสมบัติค่าไม่ส่งคืนสตริงแม้ว่าเมื่อตั้งค่ามันจะใช้เวลาในสตริงเช่น: ActiveChart.SeriesCollection(1).Values = "=Data!$A$1:$Z$1" วิธีการที่ดีที่สุดจะเป็นอย่างไร ฉันควรใช้ช่วงที่ตั้งชื่อแบบไดนามิกสำหรับแต่ละซีรี่ส์หรือไม่ ขอบคุณ.



3
ย้ายเครื่องหมายของแผนภูมิเส้น / คำอธิบายแผนภูมิรูปแบบ
ฉันมีแผนภูมิผสมกับแผนภูมิแท่งและกราฟเส้น 2 เส้นบนแกนทุติยภูมิ ต้องตรงกับการจัดรูปแบบในสกรีนช็อตที่แนบมา (ฉันไม่มีไฟล์ excel ที่แท้จริง หากคุณมีรูปลักษณ์ - คุณสามารถเห็นเครื่องหมายบนกราฟเส้นไม่เรียงกัน เครื่องหมายเส้นสีแดงเอียงไปทางซ้ายเล็กน้อย นอกจากนี้ในตำนานที่ด้านล่าง - ตำนานแกนทุติยภูมิถูกแยกออกไปด้านล่าง ฉันก็ไม่รู้จะทำยังไงดี ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก

1
Excel - การสร้าง UDF จากสูตร
ฉันมักจะเจอสถานการณ์ที่ฉันเขียนสูตรคล้ายกันมาก แต่ใช้ verbose ที่ใช้ช่วงเดียวกันเป็นอาร์กิวเมนต์สำหรับฟังก์ชั่นหลาย ๆ อย่าง ตัวอย่างง่ายๆให้พิจารณา: =(A+B)/B มีวิธีง่าย ๆ ที่ฉันสามารถสร้าง UDF เช่น: =PCTCHANGE(A,B) ที่สามารถทำการคำนวณเช่นเดียวกับข้างต้น? ฉันรู้ว่าด้วยตัวดำเนินการทางคณิตศาสตร์อย่างง่ายสิ่งนี้ไม่สำคัญ แต่มีวิธีง่าย ๆ ในการห่อบางสิ่งที่ซับซ้อนกว่าลงในฟังก์ชั่นง่าย ๆ เดียว =IF(""=$U30,"",G30/IF(ROW(G30)-MONTH(U30)<ROW(K$8),G$5,OFFSET(G30,-MONTH(U30),0))-1) ฉันต้องการหลีกเลี่ยงการแปลสูตรเป็นแอปพลิเคชันการเรียกใช้ฟังก์ชันแผ่นงาน ฉันถือว่าแอพพลิเคชั่นการประเมินค่าอาจเป็นส่วนหนึ่งของการแก้ปัญหา แต่ฉันไม่สามารถหาวิธีที่จะส่งช่วงผ่านเข้าไปใน UDF

4
แยกรายการจากรายการใน Excel
ฉันจะรับข้อมูลจากรายการที่แจกแจงได้อย่างไร ตัวอย่างเช่นถ้าฉันป้อน 3 ในเซลล์ A1ฉันต้องการเซลล์ B1 เพื่อแสดง "มีนาคม" A1 3 B1 =FX(A1,"january,february,march,april,may") มีฟังก์ชั่นอะไรให้บ้าง? รายการสามารถเป็นอะไรก็ได้

1
รับที่อยู่เซลล์ Excel ของค่าที่ใกล้เคียงที่สุดในช่วงเดียวกัน
ฉันมีสเปรดชีตขนาดใหญ่ (& gt; 15000 แถว) ที่มีชื่อ บริษัท สถานที่หมายเลขการผลิตและละติจูด / ลองจิจูดของสถานที่ ตารางตัวอย่าง ฉันกำลังพยายามเปรียบเทียบละติจูดและลองจิจูดแต่ละพิกัดกับคนอื่น ๆ ทั้งหมดเพื่อหาค่าที่อยู่ภายใน 0.01 องศา มาเรียกคอลเล็กชันตำแหน่งเหล่านี้ว่า "พื้นที่" จากนั้นฉันต้องการได้รับยอดขาย / วันและยอดรวม / วันสำหรับแต่ละพื้นที่เหล่านั้น ฉันพยายามโจมตีเรื่องนี้โดยพยายามรับที่อยู่เซลล์ของตำแหน่ง lat / long ทั้งหมดที่อยู่ภายในความต้องการ 0.01 องศาของแถวที่มีอยู่โดยใช้สูตรดังนี้: =CELL("address",INDEX(AB:AB,MATCH(MIN(ABS(AB:AB-[@Lat])),ABS(AB:AB-[@Lat]),0))) หรือสูตรที่ซับซ้อนมากขึ้น: =ABS(RANK([@Lat],AB:AB)-MATCH(MIN(LARGE(AB:AB,ROW(INDIRECT("1:"&COUNT(AB:AB)-2)))-LARGE(AB:AB,ROW(INDIRECT("1:"&COUNT(AB:AB)-2))+2)),LARGE(AB:AB,ROW(INDIRECT("1:"&COUNT(AB:AB)-2)))-LARGE(AB:AB,ROW(INDIRECT("1:"&COUNT(AB:AB)-2))+2),0)-1)<=1 โดยที่ AB คือคอลัมน์ Lat แต่พวกเขากลับ # N / A หรือ 0 บางทีฉันต้องใช้สคริปต์ VBA เพื่อทำซ้ำผ่านการเปรียบเทียบ lat / long …

1
ไฮไลต์เซลล์ทั้งหมดในช่วงที่กำหนดซึ่งไม่ได้อ้างอิงโดยสูตร (ใน Excel)
ฉันมีแผ่นงาน Excel โดยใช้เป็นบันทึกค่าใช้จ่าย มันมีโครงสร้างดังนี้: A1 ถึง A4 - & gt; ค่าตัวเลขบางอย่าง A5- & gt; = SUM (A1: A4) A6 ถึง A10 - & gt; ค่าตัวเลขบางค่า A11 - & gt; SUM (A5: A10) ดังนั้นฉันจะเก็บจุดตรวจหลังจากทุกสองสามแถว ตอนนี้ฉันมี 200+ แถวและต้องการตรวจสอบว่าฉันพลาดแถวใด ๆ เมื่อใช้สูตรหรือไม่ มีวิธีง่าย ๆ เพียงแค่เลือกทั้งช่วงและบอก excel เพื่อเน้นเซลล์ที่ไม่ได้อ้างอิงโดยสูตรหรือไม่ (เซลล์ที่ติดตามก่อนหน้าเป็นวิธีหนึ่ง แต่มันไม่ได้ทำให้ง่ายต่อการอ่านและบางเซลล์ขึ้นอยู่กับตัวเลขที่อยู่นอกช่วงนี้ดังนั้นมันจึงแตกแขนงออกไปเช่นกัน)

1
วิธีสร้างอ้างอิงไขว้แบบข้อความ (pivot) ใน Excel
สมมติว่าฉันมีรายการปัญหาที่มีต่อไปนี้: ลำดับความสำคัญ: 1-5 (มีความเร่งด่วนเพียงใด) ผลกระทบ: 1-5 (มีกี่คนที่จะได้รับผลกระทบจากปัญหา) เรียงลำดับ: 15 ตัวอักษร (คำอธิบายสั้น ๆ ) สิ่งที่ฉันอยากเห็นคือ: impact 1 2 3 ... priority 1 network fail password blocked 2 badge issue 3 toolbar hidden ... สิ่งเดียวที่ฉันเห็นบนเว็บเป็นตัวอย่างที่ จำกัด อย่างมากซึ่งดูเหมือนจะไม่สามารถรับมือกับการแสดงข้อความที่แตกต่างกัน เป็นไปได้ไหมที่จะทำสิ่งนี้ได้อย่างง่ายดายหรือต้องการ VBA ที่ซับซ้อนกว่านี้ ในกรณีที่มีหลายค่าปรากฏในที่เดียว CELL มันควรจะผนวก "," แก้ไข: Sample input data Description Impact Priority network …

3
การเปลี่ยนชุดระเบียน
ฉันต้องการย้ายระเบียนจากตาราง แต่แยกตามกลุ่มเช่นที่แสดงในตัวอย่างด้านล่าง ฉันต้องทำสิ่งนี้เพื่อบันทึกจำนวนมากที่ระบุโดยหมายเลขแถวที่จุดเริ่มต้นของตาราง จำเป็นที่จะต้องขนย้าย จาก: 1 LastModified$Time 2011-05-10 12:57:03.0 1 Count1 0 1 Count2 58 1 LastModified$UserName mbeardsell 2 LastModified$Time 2010-03-31 21:45:53.0 2 Count1 0 2 Count2 0 2 LastModified$UserName MBeardsell 3 LastModified$Time 2006-12-13 12:55:47.0 3 Count1 1 3 Count2 0 3 LastModified$UserName markhall ไปที่: LastModified$Time Count1 Count2 LastModified$UserName 1 …

1
Visual Basic - นำเข้าแถวและคอลัมน์ที่เลือกจาก Excel
มีวิธีเพิ่มข้อมูลมากกว่าหนึ่งช่วงจาก Excel ไปยัง Visual Basic หรือไม่ ฉันจัดการเพื่อนำเข้าเซลล์ A6 ถึง B260 ลงใน datagrid แต่ฉันต้องการคอลัมน์ E6-E260 และ G6-G260 ด้วย (selectedNOD เป็นสเปรดชีตที่เลือก) Dim selectedNOD As String selectedNOD = ListNOD.SelectedItem Try Dim MyConnection As System.Data.OleDb.OleDbConnection Dim dataSet As System.Data.DataSet Dim MyCommand As System.Data.OleDb.OleDbDataAdapter Dim path As String = "NOD.xlsx" MyConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" …

1
Microsoft Excel และ Google ชีต
สูตรใน Microsoft Excel ไม่แตกต่างจากใน Google ชีต แต่ฉันได้รับผลลัพธ์ที่แตกต่าง (ซ้าย) Microsoft Excel, (ขวา) Google ชีต สูตรของ Google Excel ทำงานได้; สูตร Google ชีตเดียวกันไม่ทำงานใน Microsoft Excel ฉันจะแก้ไขสิ่งนี้ได้อย่างไร ละเว้นตัวคั่นดัตช์ ; - ในเวอร์ชันภาษาอังกฤษพร้อมตัวคั่น , ผมมีปัญหาเดียวกัน.

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