спасибі за читання мого запитання.
Я намагаюся знайти цінові очки для різних розмірів пакетів продуктів. У мене є діапазон даних на Sheet1, A1: Z102, причому верхній рядок є масою пакетів (B1: Z1), а перша колонка (A2: A102) як ціна продажу. У масиві я розрахував прибуток (B2: Z102)
Я намагаюся автоматично налаштувати "what-if" на аркуші, що дозволяє мені вводити різні ваги "Sheet2! B1: B10" - що вибере відповідний стовпець ваг пакету з "Sheet1! A2: Z2", потім мати функцію MATCH найближчий рядок цього стовпця до мого "що-якщо" маржинального прибутку "Sheet2! A1", і, нарешті, повернути на Sheet2, C1: C10, ціна продажу, яка є найбільш близькою до цього прибутку.
SHEET1
1lbs 2lbs 3lbs 4lbs
$1 $0.10 -$0.80 -$1.80% -$2.80
$2 $1.74 $0.74 -$0.26 -$1.26
$3 $2.61 $1.61 $0.61 -$0.39
$4 ... ... ... $0.47
...
SHEET2
$0.20 2lbs X
4lbs X
[Edit1] Отже, функція повертає C1 = $ 2, а C2 = 4 у трьох ітераційних кроках (я думаю).
- Значення збігається з ідентичним стовпцем у рядку Sheet1: Повертає стовпець Y
- Для стовпця Y в Sheet1 знайдіть значення найближчого позитивного значення для Cell.Sheet2A1: Повертає стовпець Y, рядок Z
- Для стовпця Y Sheet1, повертається значення Z рядка Z1 у стовпці 1 рядка Z. повторіть це значення в C1 Sheet2
- Повторіть 1-3 для B2 ... Bn
Мені важко вирішити кожен крок:
- MATCH може ідентифікувати правильний стовпець
- Не можу зрозуміти, як гніздо MATCH в "OFFSET" для пошуку тільки стовпця Y. Я пробував INDEX MATCH, INDEX MATCH MATCH, LOOKUPs (V & amp; H).
- Повертає значення стовпця1 у RowZ.
Я розумію, що це може бути рішення для макросів, але я просто не знаю, як VBA це:
Dim profit, lbs, cost, reflbs, refprofit As Range
Set cost = Worksheets("Sheet1").Range("$A$2", "$A$5")
Set profit = Worksheets("Sheet1").Range("$B$2", "$E$5")
Set lbs = Worksheets("Sheet1").Range("$B$1", "$E$1")
Set reflbs = Worksheets("Sheet2").Range("$B1")
Set refprofit = Worksheets("zTest").Range("$H$39")
For Each profitCell In profit
For Each costCell In cost
For Each lbsCell In lbs
If lbsCell.Value = reflbsCell.Value Then
Тоді я не впевнений, як спрямувати пошук у стовпці, чий заголовок lbs збігається з "reflbs", а потім я вставлю:
If profitCell.Value = refprofitCell.Value Then
Потім поверніть рядок Z на матч, а потім поверніть Row Z, стовпець A Sheet1! у Sheet2! C1.
Спасибі!