Excel loại bỏ các giá trị khỏi mảng

[Tôi đã đăng bài này lên diễn đàn comm trợ giúp của microsoft và họ đã giúp tôi với tập lệnh VBA. Tôi chỉ tự hỏi liệu có công thức nào có thể làm được điều tương tự khôngÉ]

Trả lời

Kathe nói.
8 tháng 8 năm 2018 lúc 2. 50 giờ chiều

Bảng tính của tôi trông như thế này

Cột Cột Cột Cột Cột Cột
A B C D E F
2018 2017 2016 2015 2014 2013
1. Liên kết * * * * *
2. JetPro W * * W
3. G&G W W W W W
4. MDBA
5. Hóa đơn G. W W W

Cột A;
Columns B-F; shows there status from Previous years
'*' denotes Honor roll status for that year
'W' denotes they were on the winner list for that year
'a blank cell' they did not make the list that year

Để nhận được 'bảng danh dự [*]', đó phải là năm thứ sáu liên tiếp họ có tên trong danh sách người chiến thắng

Tôi đang cố gắng viết một công thức sẽ đánh dấu 'Cột A' để hiển thị trạng thái của chúng cho năm hiện tại.
Đánh dấu màu ĐỎ cho 'danh sách vinh danh mới'
Đánh dấu màu xanh cho 'danh sách vinh danh lặp lại'
Đánh dấu màu vàng cho 'người chiến thắng mới'

Ví dụ, tham khảo biểu đồ trên

#1. Màu xanh lam nổi bật - b/c họ đã được vinh danh hơn 6 năm. liên tiếp
#2. Không có Điểm nổi bật - b/c họ mất vị trí đó vào năm 2016 nên chỉ có 2 lần vô địch liên tiếp [2017&2018]
#3. RED Highlight - b/c 2018 giành chiến thắng thứ 6 liên tiếp; . Đánh dấu màu vàng - b/c họ không có trong danh sách người chiến thắng năm trước
#4: Yellow Highlight - b/c they were not on the previous years winners list
#5. Đánh dấu màu vàng - b/c họ không có trong danh sách người chiến thắng năm trước

Trả lời

Doug nói.
24 tháng 5 năm 2018 lúc 8. 54 giờ chiều

Neeraj.
Khi làm việc ngắn gọn với dữ liệu mẫu của bạn, điều duy nhất tôi có thể nghĩ ra là quy trình liên quan đến Chuyển văn bản thành Cột, sau đó sao chép và chuyển đổi vị trí. Nếu bạn có nhiều dữ liệu như thế này, sẽ rất tốn thời gian để hoàn thành công việc, nhưng có thể thực hiện được. Bởi vì dữ liệu của bạn không có cấu trúc nhất quán nên tôi không thể tìm ra cách khác để làm điều đó mà không cần dùng đến một số mã. Thậm chí sau đó nó sẽ không được dễ dàng. Dù sao, đây là cách nó có thể được thực hiện.
Chọn từng nhóm dữ liệu, chẳng hạn như ba số đầu tiên.
Sau đó, bên dưới Dữ liệu, chọn Chuyển văn bản thành cột.
Sau đó, chọn nút Được phân cách rồi tiếp theo.
Sau đó, chọn hộp Khác và nhập dấu gạch nối vào trường đó, sau đó đánh dấu cột đầu tiên chứa các chữ cái và chọn nút Không nhập, sau đó chọn Tiếp theo.
Bây giờ các số sẽ nằm trong các cột riêng biệt. Chọn ba ô này, sao chép chúng rồi chọn Paste Special và chọn nút Transpose.
Nhấp vào Dán và các số sẽ nằm trong ba cột riêng biệt mà bạn có thể đặt tiêu đề trên A, B và C. Tiếp tục và đặt tiêu đề trên cột thứ tư là D.
Bạn sẽ phải thực hiện quy trình tương tự cho từng quy trình này, ngoại trừ nhóm dữ liệu thứ hai.
Với nhóm này sau khi bạn đã có nó trong các ô riêng biệt, bạn chỉ cần sao chép hai số trên cùng và chuyển vị trí của chúng vào ô thích hợp, sau đó sao chép số cuối cùng vào D .

Trả lời

David nói.
28 tháng 4 năm 2018 lúc 2. 11 giờ đêm

Điều này rất hữu ích, nhưng tôi đang gặp khó khăn trong việc mở rộng nó cho ứng dụng của mình

Tôi cần xem mỗi người có bao nhiêu giờ trong một tháng, sau đó sử dụng mã số nhân viên của người đó, tra cứu tỷ lệ của anh ấy [hoặc cô ấy], sau đó nhân tổng số giờ theo tỷ lệ của người đó -- và sau đó tôi cần phải làm điều này . để tìm ra tổng chi phí cho tháng đó

Đây là dữ liệu ví dụ

Emp # Name Rate
11111 John 175
22222 Paul 150
33333 George 125
44444 Ringo 130

Tháng 5 Tháng 6 Tháng 7
Dự án 1
Giăng 10 10 10
Phao-lô 15 20 30
Proj 2
John 11 22 33
George 33 40 40

Dự án 3
Ringo 16 22 44
George 44 44 44

xxxxx

Vì vậy, tôi sẽ tra cứu tỷ lệ của John và sau đó nhân nó với 22 giờ, sau đó là tỷ lệ của George và nhân nó với 77, và thực hiện điều này cho mỗi hàng. và sau đó tổng hợp những sản phẩm đó

Trả lời

Mark nói.
30 tháng 1 năm 2018 lúc 11. 11 giờ đêm

Xin chào, tôi có một bảng tính để theo dõi quá trình luyện tập của vận động viên. Trong phần này, tôi thu thập loại hình đào tạo [chạy, đào tạo chéo, phòng tập thể dục], thời gian họ đào tạo [tính bằng phút] và cường độ luyện tập [khu vực đào tạo từ 1-10]. Tôi muốn tính tổng "căng thẳng luyện tập". Thông thường, đây chỉ đơn giản là thời gian nhân với cường độ. Tuy nhiên, các khu đào tạo không có lớp lót; . Khó gấp 5 lần khu 4. Ngoài ra, mỗi loại bài tập có một tác dụng khác nhau. Chạy vùng 10 khó hơn trên cơ thể so với đạp xe vùng 10. Tôi biết hệ số nhân chính xác cho từng khu vực của từng môn thể thao, tôi chỉ không biết cách tạo công thức kiểm tra loại bài tập, loại cường độ rồi nhân với hệ số căng thẳng khi luyện tập

Các yếu tố gây căng thẳng trong luyện tập như sau.
Đang chạy. 0. 17, 0. 25, 0. 33, 0. 50, 0. 67, 1. 00, 1. 33, 1. 67, 2. 08, 2. 50
Đào tạo chéo. 0. 08, 0. 13, 0. 17, 0. 25, 0. 33, 0. 50, 0. 67, 1. 00, 1. 33, 1. 67
Phòng tập thể dục. 0. 02, 0. 04, 0. 08, 0. 13, 0. 17, 0. 25, 0. 33, 0. 50, 0. 67, 1. 00

Vì vậy, nếu tôi chạy 60 phút vùng 4 [hệ số căng thẳng 0. 50], thời gian tập luyện căng thẳng là 60 phút * 0. 50 = 30

Nếu tôi thực hiện 60 phút tập luyện chéo vùng 4 [e. g. đi xe đạp] [yếu tố căng thẳng 0. 25] thời gian luyện tập căng thẳng sẽ là 60 phút * 0. 25 = 15

Tôi hy vọng điều đó đúng

Trong bảng tính của tôi, tôi đang nhập dữ liệu sau. ngày, loại hình đào tạo [chạy, đào tạo chéo, phòng tập thể dục], khu vực đào tạo [1-10]. Sau đó, tôi muốn có một cột cuối cùng tính toán mức độ căng thẳng khi tập luyện bằng cách xác định loại hình tập luyện và khu vực tập luyện, sau đó nhân thời gian tập luyện với hệ số căng thẳng khi tập luyện để đưa ra tổng mức căng thẳng khi tập luyện

Liệu điều này thậm chí có ý nghĩa, và nó có thể?

Cảm ơn

Trả lời

Ekaterina Bespalaya [Nhóm Ablebits] nói.
2 tháng 3 năm 2018 lúc 5. 45 giờ chiều

Chào Mark,

Nhiệm vụ của bạn khá thú vị. Trước tiên, tôi khuyên bạn nên tạo một bảng nhỏ chứa các yếu tố căng thẳng cho các loại hình đào tạo khác nhau như bảng bên dưới.


Giả sử bảng này được đặt trên Trang tính 1 và bảng nơi bạn đang nhập dữ liệu nằm trên Trang tính 2.

Sau đó, vui lòng nhập công thức sau vào ô E2 trong bảng trên Trang tính 2.

=INDEX[Trang tính 1. $A$1. $D$11, MATCH[C2,Sheet1. $A$1. $A$11,0], MATCH[B2,Sheet1. $A$1. $D$1,0]]*D2

Bạn sẽ nhận được tổng mức căng thẳng luyện tập cho một loại hoạt động cụ thể.


Nếu bạn muốn lấy bản tóm tắt căng thẳng theo ngày, vui lòng sử dụng tính năng Tổng phụ tiêu chuẩn của Excel [Dữ liệu -> Tổng phụ].
Bạn có thể tìm thêm thông tin về INDEX và MATCH trong bài viết này trên blog của chúng tôi. Để xem cách sử dụng tính năng Subtotal của Excel, vui lòng vào đây.

Tôi hy vọng thông tin này sẽ hữu ích cho bạn

Trả lời

Hank nói.
Ngày 17 tháng 7 năm 2017 lúc 12. 42 giờ chiều

Có ai biết làm thế nào để giải quyết vấn đề này?

Tôi muốn có thể cung cấp danh sách xác thực cho nhiều trường trong sổ làm việc của mình. Tôi muốn chỉ sử dụng 1 công thức cho tất cả các danh sách xác thực

Sổ làm việc của tôi có ít nhất 8 tờ trong đó. Một trong những trang tính đó là trang tính định nghĩa và nó liệt kê tên của từng trang tính, tên tiêu đề cột và mô tả về mục đích tôi sử dụng cột và có các chỉ báo về việc có nên xác thực cột đó bằng danh sách hay không. Nếu vậy, danh sách tôi muốn bao gồm để xác thực ô sẽ đến từ nội dung của bảng định nghĩa

Đây là dữ liệu mẫu từ bảng định nghĩa.
. Một. b. C. Đ. E
--. -----------. ----------. -----------. -------. -----------
01. Tên trang tính. ColTiêu đề. Loại giá trị. Giá trị. Định nghĩa
--. -----------. ----------. -----------. -------. -----------
02. Nhập dư liệu. Trái cây. Lựa chọn. Quả táo. Một quả táo có thể ăn được
--. -----------. ----------. -----------. -------. -----------
03. Nhập dư liệu. Trái cây. Lựa chọn. Quả cam. Một quả cam có thể ăn được
--. -----------. ----------. -----------. -------. -----------
04. Nhập dư liệu. Trái cây. Lựa chọn. Lê. Một quả lê có thể ăn được
--. -----------. ----------. -----------. -------. -----------
05. Nhập dư liệu. có đường. Boolean. Đúng. Trả lời tích cực
--. -----------. ----------. -----------. -------. -----------
06. Nhập dư liệu. có đường. Boolean. Không. Trả lời phủ định
--. -----------. ----------. -----------. -------. -----------
07. Nhập dư liệu. calo. số. . Cho biết số lượng calo

Trên Bảng nhập dữ liệu, tôi có thông tin sau
. Một. b. C.
--. -----------. ----------. -----------
01. Trái cây. calo. có đường.
--. -----------. ----------. -----------
02. . . .
--. -----------. ----------. -----------.

Tôi muốn nhấp vào tùy chọn Xác thực trong khu vực Công cụ dữ liệu của dải băng Dữ liệu và nhập cùng một công thức cho các ô A2 và C2. Tôi sẽ chọn Xác thực dữ liệu và trong hộp thoại Xác thực dữ liệu, tôi sẽ chọn Danh sách. Thứ tôi cần là một công thức để chèn vào trường Nguồn, công thức này sẽ giống hệt nhau mọi lúc trên mọi trang tính

Tôi nghĩ rằng tôi có thể làm điều này bằng cách sử dụng VBA bằng cách gọi một hàm mà tôi sẽ tạo nhưng tôi tự hỏi liệu một hàm mảng hoặc tập hợp các hàm mảng đã tồn tại để thực hiện điều này chưa

Về cơ bản, nếu tôi sử dụng một hàm VBA để làm điều này, thì hàm đó sẽ

1. Chấp nhận 2 thông số. SheetName và ColTitle.
2. Nó sẽ tạo một phạm vi cho toàn bộ Bảng định nghĩa
3. Một chuỗi trả về trống sẽ được bắt đầu.
4. Một vòng lặp Đối với mỗi hàng sẽ được sử dụng để kéo dài tất cả các hàng trong phạm vi trang tính
5. NẾU sẽ so sánh các trường SheetName và ColTitle cho khớp
6. Nếu sẽ so sánh xem Loại giá trị là Lựa chọn hay Boolean
7. Nếu độ dài của chuỗi trả về > 0, dấu phẩy sẽ được thêm vào
8. Trường giá trị phù hợp sẽ được thêm vào chuỗi trả về
9. Vòng lặp
10. Trả lại chuỗi trả về.

Chuỗi trả về sẽ chứa danh sách các giá trị được phân tách bằng dấu phẩy

Ví dụ. Nếu tôi đặt tên cho Hàm GetValidationList[] và gọi nó như vậy.
GetValidationList[ MID[CELL["filename",A1],FIND["]",CELL["filename",A1]]+1,255],
. Nếu tôi gọi nó bằng cách sử dụng chính xác thông tin từ ô C2, nó sẽ gửi "DataEntry", "HasSugar" đến hàm và nhận lại "Yes,No". Các chuỗi trả về này sẽ khiến tôi có menu kéo xuống để tôi có thể chọn câu trả lời cho Fruit hoặc HaSugar.

Tôi tự hỏi liệu có bất kỳ công thức nào tôi có thể sử dụng ngoài việc phải viết hàm VBA cho phép tôi làm điều này không

Suy nghĩ của tôi là nếu có một hàm mảng mà tôi có thể cho nó biết phạm vi của bảng tính Định nghĩa để xem xét, lọc phạm vi theo 2 trường "SheetName" và "ColTitle" và trả về một mảng các kết quả phù hợp, nó có thể thực hiện

hãy để tôi biết suy nghĩ của bạn

Cảm ơn

Trả lời

Chad nói.
Ngày 21 tháng 8 năm 2015 lúc 8. 29 giờ tối

Tôi đã sử dụng công thức mảng được 13 năm và sợ rằng bản nâng cấp [bắt buộc] gần đây lên 2013 có thể đã làm hỏng chúng. Cho đến bây giờ, tôi có thể nhập một công thức như

=SUM[[$A. $A=$A2]*[$B. $B=$B2]*[$C. $C]*[$D. $D]]
{tất nhiên là sử dụng cntrl-shift-enter}
Điều này sẽ.
*Cho phép tôi thử nghiệm trên nhiều điều kiện so với. cột A và B [v.v. ]
*Kết hợp các phần tử có trọng số trên các cột C và D [v.v. ]

Điều này được đơn giản hóa để minh họa - các giá trị thử nghiệm thường được cung cấp từ trình đơn thả xuống và cả điều kiện và sản phẩm thường kéo dài trong nhiều cột. Tất cả đều hoạt động tốt và khả năng chỉ định toàn bộ cột giúp việc nhập công thức trở nên dễ dàng và linh hoạt khi đối mặt với số lượng dữ liệu khác nhau. Mảng cũng mang lại lợi thế so với bảng tổng hợp trong việc luôn làm mới động và cung cấp định dạng linh hoạt và bền vững hơn so với các tùy chọn định dạng bảng tổng hợp khá cứng nhắc

Bây giờ trong Excel 2013, công thức mảng này dường như bị hỏng khi các hàng tiêu đề văn bản đánh giá lỗi. Trước đây, các tiêu đề dẫn đến các điều kiện sai bằng 0 và tổng tiếp tục là một câu trả lời đúng. Bây giờ, tôi gặp lỗi khi sử dụng định dạng mảng hoặc số 0 cuối cùng không chính xác nếu nhập dưới dạng cú pháp & hàm SumProduct không phải mảng

Có tùy chọn nào để khôi phục các quy tắc đánh giá cũ [Sai*Văn bản = 0] không?

Chủ Đề