Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Συναρτήσεις] Πρόβλημα με πολλαπλασιασμό διαφορών μέσω πινάκων (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/3311-problima-me-pollaplasiasmo-diaforon-meso-pinakon.html)

_Jorge_ 23-09-14 12:37

Πρόβλημα με πολλαπλασιασμό διαφορών μέσω πινάκων
 
1 Συνημμένο(α)
Καλησπέρα σε όλους!!!

Έχω το εξής πρόβλημα.Έχω τα εξής δεδομένα.


--- | Α | C |
_________________
1
_________________
2 | 20 | 2 |
_________________
3 | 40 |
_________________
4
_________________
5
_________________
6 | 50 | 4 |
_________________
7 | 80 |
_________________
8
_________________
9
_________________
10 | 10 | 6 |
_________________
11 | 20 |
_________________



Τα C2-C3 είναι συγχωνευμένα,όπως και τα C7-C5 και C11-C10.

Θέλω να υπολογίσω το γινόμενο

=(Α3-Α2)*C2+(Α7-Α6)*C6+(Α11-Α10)*C10

Οι γραμμές 1,4-5 και 8-9 είναι άδειες.Επειδή μπορεί να ξαναχρησιμοποιηθούν δεν θέλω να διαγραφούν.

Δηλαδή π.χ. εάν αργότερα προσθέσω δεδομένα στις γραμμές 4-5,θέλω η πράξη να γίνεται ως εξής

=(Α3-Α2)*C2+(Α5-Α4)*C4+(Α7-Α6)*C6+(Α11-Α10)*C10

Αν σβήσω τις γραμμές 6-7 η πράξη να γίνεται ως εξής

=(Α3-Α2)*C2+(Α5-Α4)*C4+(Α11-Α10)*C10

Κοινώς αυτό που θέλω είναι τα ζυγά κελιά της Α να αφαιρούνται από τα ακριβώς από κάτω τους ζυγά κελιά της Α και κάθε αποτέλεσμα να πολλαπλασιάζεται με το αντίστοιχο ζυγό κελί της C.Κατόπίν όλα τα επιμέρους γινόμενα να προστίθενται.


Από ότι βρήκα μέχρι τώρα η καλύτερη λύση είναι με πίνακες.

Σκέφτηκα αντί να κάνω πρώτα την αφαίρεση των κελιών στην Α και μετά τον πολλαπλασιασμό
με τα αντίστοιχα της C, να κάνω την πράξη

=(Α3*C2+Α7*C6+Α11*C10)-(Α2*C2+Α6*C6+Α10*C10)

Η δεύτερη παρένθεση υπολογίζεται κανονικά (ως array) με το

={SUM(IF(MOD(ROW(A2:A11);2)=0;A2:A11;0)*(IF(MOD(RO W(C2:C11);2)=0;C2:C11;0)))}

καθώς το MOD(ROW(A2:A11);2)=0 δίνει τα ζυγά κελιά της Α και αντίστοιχα το MOD(ROW(C2:C11);2)=0 τα ζυγά κελιά της C.

Το αποτέλεσμα που βγάζει είναι 300 αφού

Α2*C2+Α6*C6+Α10*C10=20*2+50*4+10*6=40+200+60=30 0

Από την άλλη η πρώτη παρένθεση με το

={SUM(IF(MOD(ROW(A2:A11);2)=1;A2:A11;0)*(IF(MOD(RO W(C2:C11);2)=0;C2:C11;0)))}

δίνει αποτέλεσμα 0.Το MOD(ROW(A2:A11);2)=1 υπολογίζει τα μονά κελιά της στήλης Α.

Μήπως ο πολλαπλασιασμός πινάκων θέλει τα κελιά που πολλαπλασιάζονται να είναι στην ίδια γραμμή;;;

Επίσης να πω ότι δοκίμασα και με τη SUMPRODUCT αλλά και με τη MMULT αλλά και πάλι μηδέν βγαίνει η πρώτη παρένθεση.

Τέλος να αναφέρω ότι ξεσυγχώνευσα και τα συγχωνευμένα κελιά C2-C3 , C7-C5 και C11-C10 μήπως και αυτό ήταν το πρόβλημα,αλλά και πάλι τζίφος.

Έχει κανείς καμιά ιδέα πως μπορεί να γίνει;

Παρακάτω επισυνάπτω και το αρχείο.

Σας ευχαριστώ!

kapetang 23-09-14 16:08

1 Συνημμένο(α)
Καλησπέρα στην παρέα.

Γιώργος, δες μια λύση στο συνημμένο αρχείο

Φιλικά/Γιώργος

_Jorge_ 28-09-14 20:32

Παράθεση:

Αρχική Δημοσίευση από kapetang (Μήνυμα 18963)
Καλησπέρα στην παρέα.

Γιώργος, δες μια λύση στο συνημμένο αρχείο

Φιλικά/Γιώργος

Σε ευχαριστώ πολύ αδερφέ!!!Στην ουσία το ήθελά για ένα πιο πολύπλοκο αρχείο από το παράδειγμα που ανέβασα,αλλά ο τρόπος σου δουλεύει μια χαρά και στο άλλο!!!Και πάλι ευχαριστώ Γιώργο!!!


Η ώρα είναι 22:34.

Ms-Office.gr - ©2000 - 2025, Jelsoft Enterprises Ltd.


Content Relevant URLs by vBSEO 3.3.2