Numbers / Excel'de bir SUMPRODUCT ürününü yalnızca belirli ölçütlere uyan satırlarda nasıl yapabilirim


1

Elektronik tablomu biraz açıklayayım. İşte bunun iyi bir ekran görüntüsü:

görüntü tanımını buraya girin

Bu elektronik tabloyu temelde oluşturdum çünkü hemen hemen her beslenme izleme uygulamasının kullanılabilirlik konularından bıktım. Bu yüzden kendi elektronik tablomu oluşturuyorum! Yatay olarak ilerleyişini görebileceğiniz gibi, farklı besinler / içerik maddeleri ve aşağıda beslenmeyle ilgili gerçek değerleri.

Sonra, dibe doğru bazı değerlere sahip "ilk yemek" başlıklı bir satır olduğunu göreceksiniz. Bu aslında benim "2.5 porsiyon kinoa, 2 porsiyon mercimek" vb. Demektir. Bu bilgiler daha sonra soldaki "İlk Yemek" ile aşağıdaki tabloda gösterilmektedir. *

Amacım şimdi iki şeye izin vermek.

  1. Birden fazla öğün
  2. Diğer öğünler arası yemekler
    • ("Carb Breakfast", "Fat Lunch" Protein Dinner "satırları olduğunu ve bunların her birinin yemek masaları olduğunu hayal edin ama onları" Carb Breakfast, Fat Lunch, Protein Dinner "adı verilen bir tablo istedim)

Bunu yapmakta biraz zorlanıyorum ve aslında "ilk yemek" masasındaki D satırı için verilen formüle geliyor . Bunun için formül şu anda SUMPRODUCT(Row Fat, Row First Meal)ve tahmin edebileceğiniz gibi SUMPRODUCT(Row Cholestrol, Row First Meal). Bu, bir öğün için iyi çalışır, ancak birden fazla öğün için ince ayar yapmak için çok fazla iş gerekir ve çok sayıda öğün için çalışmaz.

Amaç, D hücresindeki her bir hücrenin değerinin esasen aşağıdaki formül ile tespit edilmesi olacaktır.

nutrient = // whatever row we are on
integer sum = 0;
foreach(row in top table):
    integer weight = [ammount of the 'nutrient' in this row]
    integer innersum = 0;
    foreach(meal in meals):
        if (meal is contained in string top left corner of this table):
            innersum += [number of servings of this row];
        sum += innersum * weight;

Affet beni, ben bir programcıyım, bu yüzden bu formülü açıklayabilmemin en açık yolu bu. Temel olarak her besin maddesi için tablonuzdaki sol üst hücreye bakın ve o besin maddesinin porsiyonlarının toplamını o dizeye göre elde edin, ardından öğünde doğru besin miktarının ne kadar olduğunu çarpın.

İdeal olarak, D hücresindeki değer için bu formül aşağıdaki gibi uygulanır:

Tüm öğünlerin matrisini üst tablodan alın ve sol üst sütunda yer almayan adları olan satırları filtreleyin. Ardından bu matrisi tek bir satıra basitleştirerek tüm öğeleri bir sütuna ekleyin. Daha sonra bu değeri ve öğünlerin beslenme durumundaki spesifik besin sayısını gösteren bir ürün hazırlayın. Sorun şu ki, bütün matris filtresini nasıl yapacağımı ve işlemi basitleştireceğimi bilmiyorum. Açıkçası, elektronik tabloların bu şekilde çalışıp çalışmadığını bile bilmiyorum.

* Üzülme Bu yemeği akılda tutarak tam gün yemekle tasarladım.


Bir çalışma sayfası işlevi olması gerekiyor mu? Belki bu VBA ile yapılabilir.
Moacir
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.