Can Someone help me with Google Sheets? Tutor for Hire?

I know this may a little outdated, but I was hoping to get this last part working.

This is part of my learning experience and I wanted to understand why this is not working. I am really ignorant to xml and eve spreadsheeting so please dont have high expectations. I really really appreciate the help guys, so please comment as to what is going on here. If its just because its old, Eve stuff has changed, this function no longer exists, or maybe I made an error somewhere.

I made a reddit page and there it has the links and explains. Its not difficult, but I get that the features may no longer work.

IF they do or will work, please help, I like this simple sheet, it will allow me to enter item name per line and it will fetch the data. I am willing to pay in game isk to help teach me the basics or how to get a basic custom sheet made, ie, you be my tutor for an hour or two?

We can discuss price!

Your named range “TypeID” = Math!M11 used in Trade!C3 is empty thus meaningless, breaking the formula.

Edit: point your “TypeID” range to Math!C4.

1 Like

I dont know where to do this, I look on the trade tab in every cell and see no area I specified to math tab, I get what you mean, but Idk where to change this, or how.

in the first part of the video, I do see where the math tab is called, to specific cells, and that sheet works.

the second part he adds the drop down menu for system select, and changes the xml command in that same c3 cell of the trade tab. the second version, which you are I are working on, I dont see in the command, where it refers to math tab, or Im not aware it is…

I appreciate your tip! So I see what you mean though, on math tab, cell c4 should be called,

ok

so how can I do this with the command given in the c3 cell of the trade tab?

=ImportXML(CONCATENATE(Sell_Swap,TypeID&JOIN(TypeID,$B3:$B9)),"//sell/min")

This is the command given in the second part tutorial.

This is the command in the first,

=ImportXML(CONCATENATE(Math!B3,B4,"&typeid=",B5,"&typeid=",B6,"&typeid=",B7,"&typeid=",B8,"&typeid=",B9,"&typeid=",B10,Math!C3),"//sell/min")

I appreciate any and all further clarification!

To add, this may be because, we are using sell_swaps or the JOIN feature, in which to clarify for you, I really have no idea what he is doing. only Im copying and trying to google and learn as I go along. :slight_smile:

Named range menu: https://i.imgur.com/7AioGmC.png

1 Like

Thank you so very much! Im surprised I was able to get it! It works now!

I have to do the Buy cell now but I think I can take it from here?

:slight_smile: cheers!

Need to figure out why I selected cell 11 though, maybe thats what he did and I meant to change it but didnt know I had to.

okay I see he has it cell c4 … I just didnt see it.

sell_swaps in your sheet refers to the fetch URL so nothing special.
The JOIN function is supposed to pack the stuff you want to request at $B3:$B9 of Trade tab with “&typeid=” as a delimiter into the request string.
So the JOIN function in your sheet works out something like this >

“&typeid=34&typeid=35&typeid=36&typeid=37&typeid=38&typeid=39&typeid=40”

1 Like

Right, okay I understand. Like in the first turotial video, the string had all these type ids continued and I had to enter each one I want to pull a price from. Which is easy for a few items… but if you say want one item at request, or a list of requested items and a the potential for that list to be long, the JOIN command is really nice!

I see how this all links together and I really appreciate your help. Ill be sending you some isk ! :slight_smile:

1 Like

Could also just add

/**
* Query's Fuzz market API for the given types
* @param {range} A vertical range of type_ids.
* @return maxBuy and minSell for each type_id
* @customfunction
*/
function fuzzApiPriceData(type_ids) {
  if (!type_ids) throw 'type_ids is required';
  var type_ids = Array.isArray(type_ids) ? type_ids.map(function(id) { return id[0]; }) : [type_ids];
  var fuzz_price_data = JSON.parse(UrlFetchApp.fetch("https://market.fuzzwork.co.uk/aggregates/?station=60003760&types=" + type_ids.join(',')));
  return [['minSell', 'maxBuy']].concat(type_ids.map(function(type_id) { return [parseFloat(fuzz_price_data[type_id]['sell']['min']), parseFloat(fuzz_price_data[type_id]['buy']['max'])]; }));
}

To your script editor, then use it via =fuzzApiPriceData(A1:A500), where those are a range of type_ids. This would return min sell and max buy of jita 4-4. Then from here could also include name and use vlookup for easy conversion of id to name/price.

1 Like

Ill have to research all that so thank you! :slight_smile:

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.