ಎಕ್ಸೆಲ್ ನಲ್ಲಿ ಒಂದು ಸೆಲ್ ಮೂಲಕ ಮೊತ್ತ. ಎಕ್ಸೆಲ್. ಷರತ್ತುಬದ್ಧ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಮಾನದಂಡಗಳನ್ನು ಪೂರೈಸುವ ಕೋಶಗಳನ್ನು ಎಣಿಕೆ ಮತ್ತು ಮೊತ್ತ


ಮಾರಾಟ ಪ್ರತಿನಿಧಿಗಳ ಮಾರಾಟದ ಕುರಿತು ನೀವು ಈ ಕೆಳಗಿನ ವರದಿಯನ್ನು ಹೊಂದಿದ್ದೀರಿ ಎಂದು ಭಾವಿಸೋಣ:

ಅದರಿಂದ ನೀವು ಎಷ್ಟು ಕಂಡುಹಿಡಿಯಬೇಕು ಪೆನ್ಸಿಲ್ಗಳುಮಾರಾಟ ಪ್ರತಿನಿಧಿಯಿಂದ ಮಾರಲಾಗುತ್ತದೆ ಇವನೊವ್ವಿ ಜನವರಿ.


ಸಮಸ್ಯೆ: ಬಹು ಮಾನದಂಡಗಳ ಮೂಲಕ ಡೇಟಾವನ್ನು ಸಾರಾಂಶ ಮಾಡುವುದು ಹೇಗೆ ??

ಪರಿಹಾರ: ವಿಧಾನ 1:

BDSUMM(A1:G16;F1;I1:K2)


ಇಂಗ್ಲಿಷ್ ಆವೃತ್ತಿಯಲ್ಲಿ:

DSUM(A1:G16,F1,I1:K2)


ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ:



ನಾವು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಡೇಟಾಬೇಸ್‌ನಿಂದ A1:G16ಕಾರ್ಯ BDSUMMಕಾಲಮ್ ಡೇಟಾವನ್ನು ಹಿಂಪಡೆಯುತ್ತದೆ ಮತ್ತು ಒಟ್ಟುಗೂಡಿಸುತ್ತದೆ ಪ್ರಮಾಣ(ವಾದ" ಕ್ಷೇತ್ರ" = F1) ಜೀವಕೋಶಗಳಲ್ಲಿ ನೀಡಲಾದ ಪ್ರಕಾರ I1:K2 (ಮಾರಾಟಗಾರ = ಇವನೊವ್; ಉತ್ಪನ್ನಗಳು = ಪೆನ್ಸಿಲ್‌ಗಳು;ತಿಂಗಳು = ಜನವರಿ) ಮಾನದಂಡ.


ಕಾನ್ಸ್: ಮಾನದಂಡಗಳ ಪಟ್ಟಿಯು ಹಾಳೆಯಲ್ಲಿರಬೇಕು.

ಟಿಪ್ಪಣಿಗಳು: ಸಂಕಲನ ಮಾನದಂಡಗಳ ಸಂಖ್ಯೆಯು RAM ನಿಂದ ಸೀಮಿತವಾಗಿದೆ.

ಅಪ್ಲಿಕೇಶನ್ ಪ್ರದೇಶ
: ಎಕ್ಸೆಲ್ ನ ಯಾವುದೇ ಆವೃತ್ತಿ

ವಿಧಾನ 2:

SUMPRODUCT((B2:B16=I2)*(D2:D16=J2)*(A2:A16=K2)*F2:F16)


ಇಂಗ್ಲಿಷ್ ಆವೃತ್ತಿಯಲ್ಲಿ:

SUMPRODUCT((B2:B16=I2)*(D2:D16=J2)*(A2:A16=K2)*F2:F16)

ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ:

SUMPRODUCT ಫಂಕ್ಷನ್ ಎಕ್ಸೆಲ್ ಮೆಮೊರಿಯಲ್ಲಿ ಆಯ್ಕೆಮಾಡಿದ ಮಾನದಂಡಗಳ ಪ್ರಕಾರ TRUE ಮತ್ತು FALSE ಮೌಲ್ಯಗಳ ಸರಣಿಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ.


ಶೀಟ್‌ನ ಕೋಶಗಳಲ್ಲಿ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ನಡೆಸಿದರೆ (ಸ್ಪಷ್ಟತೆಗಾಗಿ, ಲೆಕ್ಕಾಚಾರಗಳು ಹಾಳೆಯಲ್ಲಿ ನಡೆಯುತ್ತಿರುವಂತೆ ಮತ್ತು ಮೆಮೊರಿಯಲ್ಲಿಲ್ಲದಂತೆ ನಾನು ಸೂತ್ರದ ಸಂಪೂರ್ಣ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತೇನೆ), ನಂತರ ಸರಣಿಗಳು ಈ ರೀತಿ ಕಾಣುತ್ತವೆ:


ಒಂದು ವೇಳೆ, ಉದಾಹರಣೆಗೆ, ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿದೆ. D2=ಪೆನ್ಸಿಲ್‌ಗಳು, ನಂತರ ಮೌಲ್ಯವು ನಿಜವಾಗಿರುತ್ತದೆ, ಮತ್ತು ವೇಳೆ D3=ಫೋಲ್ಡರ್‌ಗಳು, ನಂತರ ತಪ್ಪು (ನಮ್ಮ ಉದಾಹರಣೆಯಲ್ಲಿ ಉತ್ಪನ್ನ ಆಯ್ಕೆಯ ಮಾನದಂಡವು ಮೌಲ್ಯವಾಗಿದೆ ಪೆನ್ಸಿಲ್ಗಳು).


TRUE ಯಾವಾಗಲೂ 1 ಗೆ ಸಮಾನವಾಗಿರುತ್ತದೆ ಮತ್ತು FALSE ಯಾವಾಗಲೂ 0 ಗೆ ಸಮನಾಗಿರುತ್ತದೆ ಎಂದು ತಿಳಿದುಕೊಂಡು, ನಾವು 0 ಮತ್ತು 1 ಸಂಖ್ಯೆಗಳಂತೆ ಸರಣಿಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತೇವೆ.
ಸರಣಿಗಳ ಪಡೆದ ಮೌಲ್ಯಗಳನ್ನು ಪರಸ್ಪರ ಅನುಕ್ರಮವಾಗಿ ಗುಣಿಸಿದಾಗ, ನಾವು ಸೊನ್ನೆಗಳು ಮತ್ತು ಬಿಡಿಗಳ ಒಂದು ಶ್ರೇಣಿಯನ್ನು ಪಡೆಯುತ್ತೇವೆ. ಎಲ್ಲಾ ಮೂರು ಆಯ್ಕೆ ಮಾನದಂಡಗಳನ್ನು ಪೂರೈಸಿದ ಸ್ಥಳದಲ್ಲಿ, ( ಇವಾನೋವ್, ಪೆನ್ಸಿಲ್ಗಳು, ಜನವರಿ) ಅಂದರೆ ಎಲ್ಲಾ ಷರತ್ತುಗಳು ನಿಜ, ನಾವು 1 (1*1*1 = 1) ಅನ್ನು ಪಡೆಯುತ್ತೇವೆ, ಆದರೆ ಕನಿಷ್ಠ ಒಂದು ಷರತ್ತು ಪೂರೈಸದಿದ್ದರೆ, ನಾವು 0 ಅನ್ನು ಪಡೆಯುತ್ತೇವೆ (1*1*0 = 0 ; 1*0*1 = 0 ; 0* 1*1 = 0).

ಈಗ ನಾವು ಫಲಿತಾಂಶವಾಗಿ ಒಟ್ಟುಗೂಡಿಸಬೇಕಾದ ಡೇಟಾವನ್ನು ಹೊಂದಿರುವ ಸರಣಿಯಿಂದ ಫಲಿತಾಂಶದ ಶ್ರೇಣಿಯನ್ನು ಗುಣಿಸಲು ಮಾತ್ರ ಉಳಿದಿದೆ (ಶ್ರೇಣಿ F2:F16) ಮತ್ತು ವಾಸ್ತವವಾಗಿ, 0 ರಿಂದ ಗುಣಿಸದಿರುವುದನ್ನು ಒಟ್ಟುಗೂಡಿಸಿ.


ಈಗ ಸೂತ್ರದ ಸಹಾಯದಿಂದ ಮತ್ತು ಹಾಳೆಯಲ್ಲಿ (ಕೆಂಪು ಬಣ್ಣದಲ್ಲಿ ಹೈಲೈಟ್ ಮಾಡಲಾಗಿದೆ) ಹಂತ-ಹಂತದ ಲೆಕ್ಕಾಚಾರದೊಂದಿಗೆ ಪಡೆದ ಸರಣಿಗಳನ್ನು ಹೋಲಿಕೆ ಮಾಡಿ.


ಎಲ್ಲವೂ ಸ್ಪಷ್ಟವಾಗಿದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ :)

ಮೈನಸಸ್: SUMPRODUCT - "ಭಾರೀ" ರಚನೆಯ ಸೂತ್ರ. ದೊಡ್ಡ ಡೇಟಾ ಶ್ರೇಣಿಗಳಲ್ಲಿ ಲೆಕ್ಕಾಚಾರ ಮಾಡುವಾಗ, ಮರು ಲೆಕ್ಕಾಚಾರದ ಸಮಯವು ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚಾಗುತ್ತದೆ.

ಟಿಪ್ಪಣಿಗಳು

ಅಪ್ಲಿಕೇಶನ್ ಪ್ರದೇಶ: ಎಕ್ಸೆಲ್ ನ ಯಾವುದೇ ಆವೃತ್ತಿ

ವಿಧಾನ 3: ಅರೇ ಫಾರ್ಮುಲಾ

ಮೊತ್ತ(IF((B2:B16=I2)*(D2:D16=J2)*(A2:A16=K2),F2:F16))


ಇಂಗ್ಲಿಷ್ ಆವೃತ್ತಿಯಲ್ಲಿ:

ಮೊತ್ತ(IF((B2:B16=I2)*(D2:D16=J2)*(A2:A16=K2),F2:F16))

ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ:ವಿಧಾನ # 2 ರಂತೆಯೇ. ಕೇವಲ ಎರಡು ವ್ಯತ್ಯಾಸಗಳಿವೆ - ಸೂತ್ರವನ್ನು ನೀಡಲಾಗಿದೆಒತ್ತುವ ಮೂಲಕ ನಮೂದಿಸಲಾಗಿದೆ Ctrl+Shift+Enterಕೇವಲ ಒತ್ತುವ ಬದಲು ನಮೂದಿಸಿಮತ್ತು 0 ಮತ್ತು 1 ರ ಶ್ರೇಣಿಯನ್ನು ಸಂಕಲನ ಶ್ರೇಣಿಯಿಂದ ಗುಣಿಸಲಾಗುವುದಿಲ್ಲ, ಆದರೆ IF ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು ಆಯ್ಕೆಮಾಡಲಾಗುತ್ತದೆ.

ಮೈನಸಸ್: ದೊಡ್ಡ ಡೇಟಾ ಶ್ರೇಣಿಗಳ ಮೇಲೆ ಲೆಕ್ಕಾಚಾರ ಮಾಡುವಾಗ ಅರೇ ಸೂತ್ರಗಳು ಮರು ಲೆಕ್ಕಾಚಾರದ ಸಮಯವನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚಿಸುತ್ತವೆ.

ಟಿಪ್ಪಣಿಗಳು: ಸಂಸ್ಕರಿಸಿದ ಅರೇಗಳ ಸಂಖ್ಯೆಯು 255 ಕ್ಕೆ ಸೀಮಿತವಾಗಿದೆ.

ಅಪ್ಲಿಕೇಶನ್ ಪ್ರದೇಶ
: ಎಕ್ಸೆಲ್ ನ ಯಾವುದೇ ಆವೃತ್ತಿ

ವಿಧಾನ 4:

SUMIFS(F2:F16,B2:B16,I2,D2:D16,J2,A2:A16,K2)

ಹಿಂದೆ, ಹುಡುಕಲು ಕಸ್ಟಮ್ ಕಾರ್ಯವನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಎಂದು ನಾನು ವಿವರಿಸಿದೆ. ದುರದೃಷ್ಟವಶಾತ್, ಜೀವಕೋಶಗಳು ಬಣ್ಣದಲ್ಲಿದ್ದರೆ ಈ ಕಾರ್ಯವು ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ ಷರತ್ತುಬದ್ಧ ಫಾರ್ಮ್ಯಾಟಿಂಗ್. ನಾನು ಕಾರ್ಯವನ್ನು "ಮುಗಿಸುವ" ಭರವಸೆ ನೀಡಿದ್ದೇನೆ. ಆದರೆ ಆ ಟಿಪ್ಪಣಿಯನ್ನು ಪ್ರಕಟಿಸಿದ ನಂತರ ಕಳೆದ ಎರಡು ವರ್ಷಗಳಲ್ಲಿ, ನನ್ನ ಸ್ವಂತ ಅಥವಾ ಇಂಟರ್ನೆಟ್‌ನ ಮಾಹಿತಿಯ ಸಹಾಯದಿಂದ ಡೈಜೆಸ್ಟಬಲ್ ಕೋಡ್ ಅನ್ನು ಬರೆಯಲು ನನಗೆ ಸಾಧ್ಯವಾಗಲಿಲ್ಲ ... ( ಮಾರ್ಚ್ 29, 2017 ನವೀಕರಿಸಿಇನ್ನೊಂದು ಐದು ವರ್ಷಗಳ ನಂತರ, ನಾನು ಇನ್ನೂ ಕೋಡ್ ಬರೆಯಲು ನಿರ್ವಹಿಸುತ್ತಿದ್ದೆ; ಟಿಪ್ಪಣಿಯ ಅಂತಿಮ ಭಾಗವನ್ನು ನೋಡಿ). ಮತ್ತು ಇತ್ತೀಚೆಗೆ ನಾನು ಡಿ. ಹೋಲಿ, ಆರ್. ಹೋಲಿ "ಎಕ್ಸೆಲ್ 2007. ಟ್ರಿಕ್ಸ್" ಪುಸ್ತಕದಲ್ಲಿ ಒಳಗೊಂಡಿರುವ ಒಂದು ಕಲ್ಪನೆಯನ್ನು ನೋಡಿದೆ, ಅದು ನಿಮಗೆ ಕೋಡ್ ಇಲ್ಲದೆ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ.

A1: A100 ಶ್ರೇಣಿಯಲ್ಲಿ ಇರಿಸಲಾದ 1 ರಿಂದ 100 ರವರೆಗಿನ ಸಂಖ್ಯೆಗಳ ಪಟ್ಟಿ ಇರಲಿ (ಚಿತ್ರ 1; ಎಕ್ಸೆಲ್ ಫೈಲ್‌ನ "SUMIS" ಶೀಟ್ ಅನ್ನು ಸಹ ನೋಡಿ). ಶ್ರೇಣಿಯು ಷರತ್ತುಬದ್ಧ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಅನ್ನು ಹೊಂದಿದೆ, ಅದು 10 ಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಗಳನ್ನು ಹೊಂದಿರುವ ಮತ್ತು 20 ಕ್ಕಿಂತ ಕಡಿಮೆ ಅಥವಾ ಸಮಾನವಾದ ಕೋಶಗಳನ್ನು ಫ್ಲ್ಯಾಗ್ ಮಾಡುತ್ತದೆ.

ಅಕ್ಕಿ. 1. ಸಂಖ್ಯೆಗಳ ವ್ಯಾಪ್ತಿ; ಷರತ್ತುಬದ್ಧ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ 10 ರಿಂದ 20 ರವರೆಗಿನ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿರುವ ಕೋಶಗಳನ್ನು ಹೈಲೈಟ್ ಮಾಡುತ್ತದೆ

ಫಾರ್ಮ್ಯಾಟ್‌ನಲ್ಲಿ ಟಿಪ್ಪಣಿಯನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ, ಸ್ವರೂಪದಲ್ಲಿ ಉದಾಹರಣೆಗಳು

ಈಗ ನೀವು ಸ್ಥಾಪಿಸಿದ ಮಾನದಂಡಗಳನ್ನು ಪೂರೈಸುವ ಕೋಶಗಳಲ್ಲಿ ಮೌಲ್ಯಗಳನ್ನು ಸೇರಿಸಬೇಕಾಗಿದೆ. ಈ ಕೋಶಗಳಿಗೆ ಯಾವ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಅನ್ನು ಅನ್ವಯಿಸಲಾಗಿದೆ ಎಂಬುದು ಮುಖ್ಯವಲ್ಲ, ಆದರೆ ಕೋಶಗಳನ್ನು ಹೈಲೈಟ್ ಮಾಡುವ ಮಾನದಂಡವನ್ನು ನೀವು ತಿಳಿದುಕೊಳ್ಳಬೇಕು.

ಅನುಗುಣವಾದ ಕೋಶಗಳ ಶ್ರೇಣಿಯನ್ನು ಸೇರಿಸಲು ಒಬ್ಬಂಟಿಯಾಗಿಮಾನದಂಡ, ನೀವು SUMIF ಕಾರ್ಯವನ್ನು ಬಳಸಬಹುದು (ಚಿತ್ರ 2).


ಅಕ್ಕಿ. 2. ಅದೇ ಸ್ಥಿತಿಯನ್ನು ಪೂರೈಸುವ ಕೋಶಗಳ ಸಂಕಲನ

ನೀವು ಹೊಂದಿದ್ದರೆ ಕೆಲವುಷರತ್ತುಗಳು, ನೀವು SUMIFS ಕಾರ್ಯವನ್ನು ಬಳಸಬಹುದು (Fig. 3).


ಅಕ್ಕಿ. 3. ಬಹು ಷರತ್ತುಗಳನ್ನು ಪೂರೈಸುವ ಕೋಶಗಳನ್ನು ಒಟ್ಟುಗೂಡಿಸುವುದು

ಒಂದೇ ಮಾನದಂಡವನ್ನು ಪೂರೈಸುವ ಕೋಶಗಳ ಸಂಖ್ಯೆಯನ್ನು ಎಣಿಸಲು ನೀವು COUNTIF ಕಾರ್ಯವನ್ನು ಬಳಸಬಹುದು.

ಬಹು ಮಾನದಂಡಗಳನ್ನು ಪೂರೈಸುವ ಕೋಶಗಳ ಸಂಖ್ಯೆಯನ್ನು ಎಣಿಸಲು ನೀವು COUNTIFS ಕಾರ್ಯವನ್ನು ಬಳಸಬಹುದು.

ಎಕ್ಸೆಲ್ ಹಲವಾರು ಷರತ್ತುಗಳನ್ನು ಸೂಚಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಮತ್ತೊಂದು ಕಾರ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಈ ವೈಶಿಷ್ಟ್ಯವು ಮೂಲ ವೈಶಿಷ್ಟ್ಯದ ಸೆಟ್‌ನ ಭಾಗವಾಗಿದೆ. ಎಕ್ಸೆಲ್ ಡೇಟಾಮತ್ತು BDSUMM ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಇದನ್ನು ಪರಿಶೀಲಿಸಲು, A2:A100 ಶ್ರೇಣಿಯಲ್ಲಿನ ಅದೇ ಸಂಖ್ಯೆಯ ಸಂಖ್ಯೆಯನ್ನು ಬಳಸಿ (ಚಿತ್ರ 4; ಎಕ್ಸೆಲ್ ಫೈಲ್‌ನ "BDSUMM" ಹಾಳೆಯನ್ನು ಸಹ ನೋಡಿ).


ಅಕ್ಕಿ. 4. ಡೇಟಾಬೇಸ್ ಕಾರ್ಯಗಳನ್ನು ಬಳಸುವುದು

C1:D2 ಕೋಶಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು ಫಾರ್ಮುಲಾ ಬಾರ್‌ನ ಎಡಭಾಗದಲ್ಲಿರುವ ಹೆಸರಿನ ಪೆಟ್ಟಿಗೆಯಲ್ಲಿ ಟೈಪ್ ಮಾಡುವ ಮೂಲಕ ಈ ಶ್ರೇಣಿಯ ಮಾನದಂಡವನ್ನು ಹೆಸರಿಸಿ. ಈಗ ಸೆಲ್ C1 ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು =$A$1 ಅನ್ನು ನಮೂದಿಸಿ, ಇದು ಡೇಟಾಬೇಸ್‌ನ ಹೆಸರನ್ನು ಒಳಗೊಂಡಿರುವ ವರ್ಕ್‌ಶೀಟ್‌ನಲ್ಲಿನ ಮೊದಲ ಸೆಲ್‌ಗೆ ಲಿಂಕ್ ಆಗಿದೆ. ಸೆಲ್ D1 ನಲ್ಲಿ =$A$1 ಅನ್ನು ನಮೂದಿಸಿ ಮತ್ತು ಕಾಲಮ್ A ನ ಶಿರೋನಾಮೆಯ ಎರಡು ಪ್ರತಿಗಳನ್ನು ನೀವು ಪಡೆಯುತ್ತೀರಿ. ಈ ಪ್ರತಿಗಳನ್ನು BDSUMM (C1:D2) ನ ಷರತ್ತುಗಳಿಗೆ ಶೀರ್ಷಿಕೆಗಳಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ, ಅದನ್ನು ನೀವು ಮಾನದಂಡ ಎಂದು ಹೆಸರಿಸುತ್ತೀರಿ. ಸೆಲ್ C2 ನಲ್ಲಿ, >10 ಅನ್ನು ನಮೂದಿಸಿ. ಸೆಲ್ D2 ನಲ್ಲಿ, ಟೈಪ್ ಮಾಡಿ<=20. В ячейке, где должен быть результат, введите следующую формулу:

BDSUMM($A$1:$A$101.1, ಮಾನದಂಡ)

ಬಹು ಮಾನದಂಡಗಳನ್ನು ಪೂರೈಸುವ ಕೋಶಗಳ ಸಂಖ್ಯೆಯನ್ನು ಎಣಿಸಲು ನೀವು COUNT ಕಾರ್ಯವನ್ನು ಬಳಸಬಹುದು.

ಜಾನ್ ವಾಲ್ಕೆನ್‌ಬಾಚ್ ಅವರ ಪುಸ್ತಕವನ್ನು ಓದುವಾಗ, ಎಕ್ಸೆಲ್ 2010 ರಿಂದ ಪ್ರಾರಂಭಿಸಿ, VBA ಹೊಸ ಡಿಸ್ಪ್ಲೇ ಫಾರ್ಮ್ಯಾಟ್ ಆಸ್ತಿಯನ್ನು ಪರಿಚಯಿಸಿದೆ ಎಂದು ನಾನು ಕಲಿತಿದ್ದೇನೆ (ಉದಾಹರಣೆಗೆ, Range.DisplayFormat ಆಸ್ತಿಯನ್ನು ನೋಡಿ). ಅಂದರೆ, VBA ಪರದೆಯ ಮೇಲೆ ಪ್ರದರ್ಶಿಸಲಾದ ಸ್ವರೂಪವನ್ನು ಓದಬಹುದು. ನೇರ ಬಳಕೆದಾರ ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಅಥವಾ ಷರತ್ತುಬದ್ಧ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಬಳಸಿ ಅದನ್ನು ಹೇಗೆ ಪಡೆಯಲಾಗಿದೆ ಎಂಬುದು ಮುಖ್ಯವಲ್ಲ. ದುರದೃಷ್ಟವಶಾತ್, MS ಡೆವಲಪರ್‌ಗಳು ಇದನ್ನು ಮಾಡಿದರು ಆದ್ದರಿಂದ ಡಿಸ್ಪ್ಲೇ ಫಾರ್ಮ್ಯಾಟ್ ಆಸ್ತಿಯು VBA ನಿಂದ ಕರೆಯಲಾಗುವ ಕಾರ್ಯವಿಧಾನಗಳಲ್ಲಿ ಮಾತ್ರ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಈ ಆಸ್ತಿಯ ಆಧಾರದ ಮೇಲೆ ಬಳಕೆದಾರ-ವ್ಯಾಖ್ಯಾನಿತ ಕಾರ್ಯಗಳು #VALUE ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತವೆ! ಆದಾಗ್ಯೂ, ನೀವು ಕಾರ್ಯವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ನಿರ್ದಿಷ್ಟ ಬಣ್ಣದ ಕೋಶಗಳ ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಮೌಲ್ಯಗಳ ಮೊತ್ತವನ್ನು ಪಡೆಯಬಹುದು (ಮ್ಯಾಕ್ರೋ, ಕಾರ್ಯವಲ್ಲ). ತೆರೆಯಿರಿ (VBA ಕೋಡ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ). ಮೆನು ಮೂಲಕ ಹೋಗಿ ನೋಟ -> ಮ್ಯಾಕ್ರೋಗಳು -> ಮ್ಯಾಕ್ರೋಗಳು; ಕಿಟಕಿಯಲ್ಲಿ ಮ್ಯಾಕ್ರೋ, ಲೈನ್ ಅನ್ನು ಹೈಲೈಟ್ ಮಾಡಿ ಸಮ್‌ಕಲರ್‌ಕಾಂಡ್., ಮತ್ತು ಒತ್ತಿರಿ ಓಡು. ಮ್ಯಾಕ್ರೋ ರನ್ ಮಾಡಿ, ಸಂಕಲನ ಶ್ರೇಣಿ ಮತ್ತು ಮಾನದಂಡವನ್ನು ಆಯ್ಕೆಮಾಡಿ. ಉತ್ತರವು ವಿಂಡೋದಲ್ಲಿ ಕಾಣಿಸುತ್ತದೆ.

ಕಾರ್ಯವಿಧಾನದ ಕೋಡ್

Sub SumColorCond() Application.Volatile True Dim SumColor ಎಂದು ಡಬಲ್ ಮಂದ ಮತ್ತು ಶ್ರೇಣಿಯ ಮಂದ ಬಳಕೆದಾರ ಶ್ರೇಣಿಯಂತೆ ಮಂದವಾದ ಮಾನದಂಡದ ಶ್ರೇಣಿ SumColor = 0 " ಶ್ರೇಣಿಯ ವಿನಂತಿಯನ್ನು ಹೊಂದಿಸಿ UserRange = Application.InputBox(_ ಪ್ರಾಂಪ್ಟ್ _ ಶೀರ್ಷಿಕೆ ಶ್ರೇಣಿ: =", ಮೊತ್ತವನ್ನು ಆಯ್ಕೆಮಾಡಿ ========================================================================================================================================> ಸಂಕಲನ ಮಾನದಂಡ", _ ಶೀರ್ಷಿಕೆ:="ಮಾನದಂಡದ ಆಯ್ಕೆ", _ ಡೀಫಾಲ್ಟ್:=ActiveCell.ವಿಳಾಸ, _ ಪ್ರಕಾರ:=8) " i.DisplayFormat.Interior.Color = _ ಮಾನದಂಡ ಶ್ರೇಣಿ . Interior.Color ನಂತರ SumColor = SumColor + i End ಮುಂದಿನ ವೇಳೆ MsgBox ಸಮ್‌ಕಲರ್ ಎಂಡ್ ಸಬ್

ಉಪ ಸಮ್‌ಕಲರ್‌ಕಾಂಡ್()

ಅಪ್ಲಿಕೇಶನ್. ಬಾಷ್ಪಶೀಲ ನಿಜ

ಡಿಮ್ ಸಮ್ ಕಲರ್ ಆಸ್ ಡಬಲ್

ಡಿಮ್ ಐ ಆಸ್ ರೇಂಜ್

ಶ್ರೇಣಿಯಂತೆ ಬಳಕೆದಾರರ ಶ್ರೇಣಿಯನ್ನು ಮಂದಗೊಳಿಸಿ

ಶ್ರೇಣಿಯಂತೆ ಮಂದ ಮಾನದಂಡ ಶ್ರೇಣಿ

ಸಮ್ಕಲರ್ = 0

"ವ್ಯಾಪ್ತಿಯ ವಿನಂತಿ

UserRange ಹೊಂದಿಸಿ = Application.InputBox(_

ಪ್ರಾಂಪ್ಟ್:="ಸಂಕಲನ ಶ್ರೇಣಿಯನ್ನು ಆಯ್ಕೆಮಾಡಿ", _

ಶೀರ್ಷಿಕೆ:="ರೇಂಜ್ ಆಯ್ಕೆ", _

ಡೀಫಾಲ್ಟ್:=ActiveCell.ವಿಳಾಸ, _

ಪ್ರಕಾರ:=8)

"ವಿನಂತಿ ಮಾನದಂಡ

ಮಾನದಂಡ ಶ್ರೇಣಿ = ಅಪ್ಲಿಕೇಶನ್ ಹೊಂದಿಸಿ. ಇನ್‌ಪುಟ್‌ಬಾಕ್ಸ್(_

ಪ್ರಾಂಪ್ಟ್: = "ಸಂಕಲನ ಮಾನದಂಡವನ್ನು ಆಯ್ಕೆಮಾಡಿ", _

ಶೀರ್ಷಿಕೆ : = "ಕ್ರೈಟೀರಿಯಾ ಆಯ್ಕೆ" , _

ಡೀಫಾಲ್ಟ್ := ActiveCell . ವಿಳಾಸ, _

ಸ್ಪ್ರೆಡ್‌ಶೀಟ್‌ನಲ್ಲಿ ನೀವು ಪ್ರತಿ ಸೆಕೆಂಡ್, ಮೂರನೇ, ನಾಲ್ಕನೇ, ಇತ್ಯಾದಿ ಸೆಲ್ ಅನ್ನು ಒಟ್ಟುಗೂಡಿಸುವ ಅಗತ್ಯವಿದೆ ಎಂದು ಆಗಾಗ್ಗೆ ಸಂಭವಿಸುತ್ತದೆ. ಈಗ, ಕೆಳಗಿನ ಟ್ರಿಕ್ಗೆ ಧನ್ಯವಾದಗಳು, ಇದನ್ನು ಮಾಡಬಹುದು.

ಎಕ್ಸೆಲ್ ಪ್ರತಿಯೊಂದನ್ನೂ ಒಟ್ಟುಗೂಡಿಸುವ ಪ್ರಮಾಣಿತ ಕಾರ್ಯವನ್ನು ಒದಗಿಸುವುದಿಲ್ಲ n ನೇ ಕೋಶಅಥವಾ ಒಂದು ಸ್ಟ್ರಿಂಗ್. ಆದಾಗ್ಯೂ, ನೀವು ಈ ಕಾರ್ಯವನ್ನು ವಿವಿಧ ರೀತಿಯಲ್ಲಿ ಸಾಧಿಸಬಹುದು. ಈ ಎಲ್ಲಾ ವಿಧಾನಗಳು ROW (ROW) ಮತ್ತು MOD (MOD) ಕಾರ್ಯಗಳನ್ನು ಆಧರಿಸಿವೆ.

ROW ಕಾರ್ಯನೀಡಿರುವ ಸೆಲ್ ಉಲ್ಲೇಖಕ್ಕಾಗಿ ಸಾಲು ಸಂಖ್ಯೆಯನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ: ROW(ಉಲ್ಲೇಖ), ಎಕ್ಸೆಲ್ ROW(ಉಲ್ಲೇಖ) ರ ರಷ್ಯನ್ ಆವೃತ್ತಿಯಲ್ಲಿ.
MOD ಕಾರ್ಯ (MOD)ಭಾಜಕದಿಂದ ಸಂಖ್ಯೆಯನ್ನು ಭಾಗಿಸಿದ ನಂತರ ಉಳಿದ ಭಾಗವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ: MOD(ಸಂಖ್ಯೆ;ಭಾಜಕ), ಎಕ್ಸೆಲ್ MOD(ಸಂಖ್ಯೆ;ಭಾಜಕ) ರ ರಷ್ಯನ್ ಆವೃತ್ತಿಯಲ್ಲಿ.

MOD ಫಂಕ್ಷನ್‌ನಲ್ಲಿ ROW ಫಂಕ್ಷನ್ ಅನ್ನು ಹಾಕಿ (ಸಂಖ್ಯೆಯ ಆರ್ಗ್ಯುಮೆಂಟ್ ಅನ್ನು ರವಾನಿಸಲು), 2 ರಿಂದ ಭಾಗಿಸಿ (ಪ್ರತಿ ಎರಡನೇ ಕೋಶವನ್ನು ಒಟ್ಟುಗೂಡಿಸಲು), ಮತ್ತು ಫಲಿತಾಂಶವು ಶೂನ್ಯವಾಗಿಲ್ಲವೇ ಎಂದು ಪರಿಶೀಲಿಸಿ. ಹಾಗಿದ್ದಲ್ಲಿ, ಕೋಶವನ್ನು ಒಟ್ಟುಗೂಡಿಸಲಾಗುತ್ತದೆ. ಈ ಕಾರ್ಯಗಳನ್ನು ವಿವಿಧ ರೀತಿಯಲ್ಲಿ ಬಳಸಬಹುದು - ಕೆಲವು ಇತರರಿಗಿಂತ ಉತ್ತಮ ಫಲಿತಾಂಶಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ. ಉದಾಹರಣೆಗೆ, $A$1:$A$100 ಶ್ರೇಣಿಯಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದು ಕೋಶವನ್ನು ಒಟ್ಟುಗೂಡಿಸುವ ಒಂದು ಅರೇ ಸೂತ್ರವು ಈ ರೀತಿ ಕಾಣಿಸಬಹುದು: =SUM(IF(ROW($A$1:$A$500);2)=0;$ A$1: $A$500;0))

ಇದು ರಚನೆಯ ಸೂತ್ರವಾಗಿರುವುದರಿಂದ, ನೀವು ಅದನ್ನು Ctrl+Shift+Enter ಒತ್ತುವ ಮೂಲಕ ನಮೂದಿಸಬೇಕು, ಎಕ್ಸೆಲ್ ಕರ್ಲಿ ಬ್ರೇಸ್‌ಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ ಇದರಿಂದ ಅದು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ: (= SUM(IF(MOD(ROW($A$1:$A$500)), 2)= 0;$A$1:$A$500;0))) $500;0))) ಕರ್ಲಿ ಬ್ರಾಕೆಟ್‌ಗಳನ್ನು ಸೇರಿಸಲು ನಮಗೆ ಎಕ್ಸೆಲ್ ಅಗತ್ಯವಿದೆ; ನೀವೇ ಅವುಗಳನ್ನು ಸೇರಿಸಿದರೆ, ಸೂತ್ರವು ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ.


ಗುರಿಯನ್ನು ಸಾಧಿಸಲಾಗಿದ್ದರೂ, ಈ ವಿಧಾನವು ವಿನ್ಯಾಸವನ್ನು ಋಣಾತ್ಮಕವಾಗಿ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ. ಸ್ಪ್ರೆಡ್ಶೀಟ್. ಇದು ರಚನೆಯ ಸೂತ್ರದ ಅನಗತ್ಯ ಅಪ್ಲಿಕೇಶನ್ ಆಗಿದೆ. ವಿಷಯಗಳನ್ನು ಇನ್ನಷ್ಟು ಹದಗೆಡಿಸಲು, ಈ ದೀರ್ಘ ಸೂತ್ರವು ಅದರೊಳಗೆ ಮರು ಲೆಕ್ಕಾಚಾರ ಮಾಡಬಹುದಾದ ROW ಕಾರ್ಯವನ್ನು ಹೊಂದಿದೆ, ಇದು ದೊಡ್ಡ ಸೂತ್ರವನ್ನು ಮರು ಲೆಕ್ಕಾಚಾರ ಮಾಡುವಂತೆ ಮಾಡುತ್ತದೆ. ಇದರರ್ಥ ನೀವು ಏನು ಮಾಡಿದರೂ ಅದನ್ನು ನಿರಂತರವಾಗಿ ಮರು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲಾಗುತ್ತದೆ ಕಾರ್ಯಪುಸ್ತಕ. ಇದು ತುಂಬಾ ಕೆಟ್ಟ ದಾರಿ!

ಇಲ್ಲಿ ಇನ್ನೊಂದು ಸೂತ್ರವಿದೆ, ಅದು ಸ್ವಲ್ಪ ಅತ್ಯುತ್ತಮ ಆಯ್ಕೆ: =SUMPRODUCT((MOD(ROW($A$1:$A$500);2)=0)*($A$1:$A$500)) :$A$500);2)=0)*($A$1 :$A$500)) .

ಆದಾಗ್ಯೂ, ಈ ಸೂತ್ರವು #VALUE ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿನಲ್ಲಿಡಿ! (#VALUE!) ವ್ಯಾಪ್ತಿಯಲ್ಲಿರುವ ಯಾವುದೇ ಕೋಶಗಳು ಸಂಖ್ಯೆಗಳ ಬದಲಿಗೆ ಪಠ್ಯವನ್ನು ಹೊಂದಿದ್ದರೆ. ಈ ಸೂತ್ರವು ವಾಸ್ತವವಾಗಿ ರಚನೆಯ ಸೂತ್ರವಲ್ಲದಿದ್ದರೂ ಸಹ ನಿಧಾನಗೊಳಿಸುತ್ತದೆ ಎಕ್ಸೆಲ್ ಕೆಲಸಇದನ್ನು ಹಲವು ಬಾರಿ ಬಳಸಿದರೆ ಅಥವಾ ಪ್ರತಿ ಬಾರಿಯೂ ದೊಡ್ಡ ಶ್ರೇಣಿಯನ್ನು ಸೂಚಿಸಿದರೆ.

ಅದೃಷ್ಟವಶಾತ್ ಇದೆ ಅತ್ಯುತ್ತಮ ಮಾರ್ಗ, ಇದು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿರುವುದಿಲ್ಲ, ಆದರೆ ಹೆಚ್ಚು ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ. ಇದಕ್ಕೆ DSUM ಕಾರ್ಯದ ಬಳಕೆಯ ಅಗತ್ಯವಿದೆ. ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು A1:A500 ಶ್ರೇಣಿಯನ್ನು ಪ್ರತಿ n ನೇ ಕೋಶವನ್ನು ಒಟ್ಟುಗೂಡಿಸುವ ಶ್ರೇಣಿಯಾಗಿ ಬಳಸಿದ್ದೇವೆ.

ಸೆಲ್ E1 ನಲ್ಲಿ, ಪದ ಮಾನದಂಡವನ್ನು ನಮೂದಿಸಿ. ಸೆಲ್ E2 ನಲ್ಲಿ, ಈ ಕೆಳಗಿನ ಸೂತ್ರವನ್ನು ನಮೂದಿಸಿ: =MOD(ROW(A2)-$C$2-1,$C$2)=0 =0 . ಸೆಲ್ C2 ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು ಡೇಟಾ → ಮೌಲ್ಯೀಕರಣವನ್ನು ಆಯ್ಕೆಮಾಡಿ.

ಡೇಟಾ ಪ್ರಕಾರ (ಅನುಮತಿಸಿ) ಕ್ಷೇತ್ರದಲ್ಲಿ, ಪಟ್ಟಿ (ಪಟ್ಟಿ) ಆಯ್ಕೆಮಾಡಿ, ಮತ್ತು ಮೂಲ (ಮೂಲ) ಕ್ಷೇತ್ರದಲ್ಲಿ, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ಅನ್ನು ನಮೂದಿಸಿ. ಪಟ್ಟಿಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಅನುಮತಿಸಲಾದ ಮೌಲ್ಯಗಳನ್ನು ಪರಿಶೀಲಿಸಲಾಗಿದೆ (ಇನ್-ಸೆಲ್), ಮತ್ತು ಸರಿ ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ. ಸೆಲ್ C1 ನಲ್ಲಿ, ಪಠ್ಯ SUM ಅನ್ನು ನಮೂದಿಸಿ... ಸಾಲು 1 ಹೊರತುಪಡಿಸಿ ಯಾವುದೇ ಕೋಶದಲ್ಲಿ, ಈ ಕೆಳಗಿನ ಸೂತ್ರವನ್ನು ನಮೂದಿಸಿ: =DSUM($A:$A;1;$E$1:$E$2) :$E$2) .

ನೀವು DSUM ಫಂಕ್ಷನ್ ಅನ್ನು ನಮೂದಿಸಿದ ತಕ್ಷಣದ ಮೇಲಿನ ಸೆಲ್‌ನಲ್ಲಿ, ="Summing Every" & $C$2 & CHOOSE($C$2;"st";"nd";"rd";"th";" ಪಠ್ಯವನ್ನು ನಮೂದಿಸಿ th";"th";"th";"th";"th";"th") & "Cell" . ಈಗ ಇದು ಸೆಲ್ C2 ನಲ್ಲಿ ಅಪೇಕ್ಷಿತ ಸಂಖ್ಯೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಮಾತ್ರ ಉಳಿದಿದೆ, ಮತ್ತು ಉಳಿದವುಗಳನ್ನು DSUM ಕಾರ್ಯದಿಂದ ಮಾಡಲಾಗುತ್ತದೆ.

DSUM ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು, ನೀವು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಮಧ್ಯಂತರಗಳಲ್ಲಿ ಕೋಶಗಳನ್ನು ಒಟ್ಟುಗೂಡಿಸಬಹುದು. DSUM ಕಾರ್ಯವು ಅರೇ ಫಾರ್ಮುಲಾ ಅಥವಾ SUMPRODUCT ಫಂಕ್ಷನ್‌ಗಿಂತ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿರುತ್ತದೆ. ಹೊಂದಿಸಲು ಸ್ವಲ್ಪ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆಯಾದರೂ, ಇದು ಕಲಿಯಲು ಕಷ್ಟಕರವಾದ, ಹೋರಾಡಲು ಸುಲಭವಾದ ಸಂದರ್ಭವಾಗಿದೆ.