+ Reply to Thread
Results 1 to 9 of 9

index/match based on filtered list

  1. #1
    Registered User
    Join Date
    07-17-2015
    Location
    London
    MS-Off Ver
    2007
    Posts
    12

    index/match based on filtered list

    Hi there,

    I have a list of bonds with particular characteristics ie. Credit ratings, currency etc. which I have built a summary table of ie. Lowest price, highest price, top price performer (1 month) which I use index match on the list of bonds to identify.

    However, I would like this index match to only extract data from the filter list. So ideally, I'd like the summary table to return results only for EUR bonds when I select EUR in the filter of BBB bonds when I select BBB in the ratings filter. Is there anyway to achieve this without VBA?

    This is my current formula which returns the Ticker of the lowest price bond.

    INDEX($B$15:$W$46,MATCH($K7,$I$15:$I$46,FALSE),2

    B15:W46 is my bond table, K7 is the corresponding lowest price, I is the column of prices, 2 returns the ticker column

    Thanks in advance.
    Last edited by wilfrid147; 08-06-2015 at 04:13 AM.

  2. #2
    Forum Expert
    Join Date
    02-22-2013
    Location
    London, UK
    MS-Off Ver
    Office 365
    Posts
    1,218

    Re: index/match based on filtered list

    Sure there is, could you upload an example so that we can have a look. One way is to combine index with aggregate(15,6 ...) matching specific row items with EUR in a column.

    Do you happen to use Boomberg btw? I've worked quite extensively with this kind of data while in DCM before.

    Cheers

  3. #3
    Registered User
    Join Date
    07-17-2015
    Location
    London
    MS-Off Ver
    2007
    Posts
    12

    Re: index/match based on filtered list

    Yes I do. Could you be more specific as to how I can aggregate the data? I've attached a small section of my model as it is quite a large file. Thanks.

    Example.xlsx

    P.S I've also pasted values of the Bloomberg formula in case you don't have Bloomberg.

  4. #4
    Forum Expert
    Join Date
    02-22-2013
    Location
    London, UK
    MS-Off Ver
    Office 365
    Posts
    1,218

    Re: index/match based on filtered list

    Thanks. Happy to help - will take a look tonight, on vacation and away from a computer until tonight

  5. #5
    Forum Expert
    Join Date
    02-22-2013
    Location
    London, UK
    MS-Off Ver
    Office 365
    Posts
    1,218

    Re: index/match based on filtered list

    Hi, quick solution, try the attached:

    Row\Col
    K
    7
    =AGGREGATE(4,5,$I$14:$I$24)
    8
    =AGGREGATE(5,5,$S$14:$S$24)
    9
    =AGGREGATE(5,5,$L$14:$L$24)
    10
    =AGGREGATE(4,5,$U$14:$U$24)


    Added a filter to the data (that you generate from BBERG) and changed the cells K7:K10 (highlighted in red) using the aggregate function for min and max, ignoring hidden values.

    One thing to consider when dealing with BBERG, the dates will usually be string values from a BDP function, so for e.g. cell F14 you can try something like =--BDP($B14&" Corp",NXT_CALL_DT"), i.e. add "--" to convert it to a date directly so you can better use it with the filter.

    See how that works for you.

    Cheers,
    berlan
    Attached Files Attached Files

  6. #6
    Registered User
    Join Date
    07-17-2015
    Location
    London
    MS-Off Ver
    2007
    Posts
    12

    Re: index/match based on filtered list

    Hi Berlan,

    I don't seem to have "aggregate" function on my excel so everything appears as ?NAME when I change the filter.

    I've been working on a more user-friendly filter because my team will be using it on a daily basis so it would be ideal for them to not having to edit the formulae when they want to apply a filter.

    I've been using this {=MAX(IF($E$15:$E$100=E14,$I$15:$I$100,MAX($I$15:$I$100)))} for K7 and it works. (E14 is a dropbox with all the currencies) However, I can't seem to apply multiple filters using this method i.e All EUR BBB bonds.

    Any ideas?

  7. #7
    Forum Expert
    Join Date
    02-22-2013
    Location
    London, UK
    MS-Off Ver
    Office 365
    Posts
    1,218

    Re: index/match based on filtered list

    From my example file above, try to use subtotals instead and change the formulas in K7:K10 to,

    Row\Col
    K
    7
    =SUBTOTAL(104,$I$14:$I$24)
    8
    =SUBTOTAL(105,$S$14:$S$24)
    9
    =SUBTOTAL(105,$L$14:$L$24)
    10
    =SUBTOTAL(104,$U$14:$U$24)


    EDIT: if E14 is a ccy dropdown, this can surely be modified but didn't see a dropdown in your first example file. The alt here with these formulas was to filter the whole data range directly and ignoring hidden values.
    Last edited by berlan; 08-06-2015 at 09:23 AM.

  8. #8
    Registered User
    Join Date
    07-17-2015
    Location
    London
    MS-Off Ver
    2007
    Posts
    12

    Re: index/match based on filtered list

    Hi Johan,

    I can't seem to reply to your private message for some reason. But thanks that's exactly what's I'm looking for! One quick question: is there any way to filter out bonds based on their call dates? i.e bonds with call dates >2yrs away.

    I'm currently working a on relative value model for hybrid valuation and make it as automated as possible for my team. It's quite a challenge as I'm trying to make it VBA free. Where are you working now?

  9. #9
    Forum Expert
    Join Date
    02-22-2013
    Location
    London, UK
    MS-Off Ver
    Office 365
    Posts
    1,218

    Re: index/match based on filtered list

    Sure, certainly! You could do a filter on call dates from 2 years from today's date (like >=8/6/2015), or make a column with years to call. For hybrids with call dates, you could calculate it yourself with the difference from NXT_CALL_DT and Btoday(), a non-volatile function instead of Excel's built-in function today() which is volatile, or there may be a field for that like where you have to check the overrides if any.

    The importance is that the date cells are recognized as date/numbers and not strings, i.e. use:

    =--BDP($B14&" Corp",NXT_CALL_DT")

    instead of

    =BDP($B14&" Corp",NXT_CALL_DT")

    provided that your settings in BBERG match the regional settings on your computer; you may need to change your Windows time settings to US if it doesn't work with UK settings (which it did for me in London but not in Stockholm). See what works for you.

    There are plenty of cool things to do, and to make this model robust and easy to use. Happy to help if you have any formula questions or otherwise.

    Cheers,

    Johan

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Sort filtered results of INDEX/MATCH from drop down using 3 criteria
    By lorikgator in forum Excel Formulas & Functions
    Replies: 0
    Last Post: 03-13-2015, 05:33 PM
  2. Index Match Returning Results for Filtered Out Data
    By hermes980 in forum Excel General
    Replies: 2
    Last Post: 08-27-2014, 12:19 AM
  3. Replies: 3
    Last Post: 05-19-2014, 02:01 PM
  4. [SOLVED] Index and match based off of top 5 list for a specific field in a filtered column
    By ScottBeatty in forum Excel Formulas & Functions
    Replies: 4
    Last Post: 06-27-2013, 04:37 PM
  5. [SOLVED] INDEX and MATCH across multiple columns based on dropdown list
    By omni72 in forum Excel Formulas & Functions
    Replies: 5
    Last Post: 11-08-2012, 03:00 AM
  6. How to INDEX/MATCH values from SharePoint List based on excel cell value?
    By Rerock in forum Excel Programming / VBA / Macros
    Replies: 1
    Last Post: 08-04-2012, 12:37 AM
  7. Counting the Values that Match Criteria in a Filtered List
    By ExcelTip in forum Tips and Tutorials
    Replies: 0
    Last Post: 08-28-2005, 10:38 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1