<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://jackieqv.github.io//jackiesblog/feed.xml" rel="self" type="application/atom+xml" /><link href="https://jackieqv.github.io//jackiesblog/" rel="alternate" type="text/html" /><updated>2026-04-09T04:13:51+02:00</updated><id>https://jackieqv.github.io//jackiesblog/feed.xml</id><title type="html">Jackies Blog</title><subtitle>Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.</subtitle><author><name>Janine Quach</name></author><entry><title type="html">VLOOKUP() vs. INDEX()</title><link href="https://jackieqv.github.io//jackiesblog/excel/vlookup/index/vlookup-vs-index/" rel="alternate" type="text/html" title="VLOOKUP() vs. INDEX()" /><published>2022-12-27T00:02:00+01:00</published><updated>2022-12-27T00:02:00+01:00</updated><id>https://jackieqv.github.io//jackiesblog/excel/vlookup/index/vlookup-vs-index</id><content type="html" xml:base="https://jackieqv.github.io//jackiesblog/excel/vlookup/index/vlookup-vs-index/"><![CDATA[<p>Hi all,
today’s blog post is a guest post by my husband Sven, who compares the vlookup() and the index() function in Excel. They are both very useful functions for finding things in a table range. It’s quite a long post to read but a very useful one. Kudos to him for being so dedicated and writing such a long article!:clap: Most of you working an office job and using Excel to analyze data, can probably relate.:computer: I am using the vlookup() function a lot but the function has its limitations. The lookup_value must be always the very left column of the table_array of the function. Therefore, I always find myself inserting columns to get the right order for the vlookup() to function. Understanding the index() function can help you out directly finding your lookup_value without paying attention to the order of the table_array.</p>

<h2 id="and-over-to-svens-part">And over to Sven’s part:</h2>
<p>I am happy be given the chance to write a guest post on Jackie’s Blog. In this post I will write a comparison between two Excel functions that can be used to access data from a different table via comparing a lookup value. The vlookup() vs. index() function.
To explain the differences, I will use an example of made-up HR-data. Imagine you are given the following task: You are granted access to a table with several information on employee data, but one column is missing. The missing values can be found in a separate table as shown below. In this example we are going to fill in the salary column of the Employee data table.
<img src="https://jackieqv.github.io//jackiesblogassets/images/vlookup%20vs%20index_1.png" /></p>

<p>If you want a fast solution without further explanation for the first entry, here you go:</p>
<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">Vlookup</span><span class="pi">:</span> <span class="s">=VLOOKUP(A4;$G$4:$H$6;2;FALSE)</span>
<span class="na">Index</span><span class="pi">:</span> <span class="err">	</span> <span class="s">=INDEX($G$4:$H$6;MATCH(A4;$G$4:$G$6;0);2)</span>
</code></pre></div></div>

<h2 id="using-vlookup">Using vlookup()</h2>
<p>Let us first use the vlookup() function to fill in the column of Salary. Generally, the vlookup() function is used to look up a value in the leftmost column of a table and then returns a value in the same row from a different table that can be specified. The v in vlookup() stands for vertical.
<img src="https://jackieqv.github.io//jackiesblogassets/images/vlookup%20vs%20index_2.png" /></p>

<p>After typing in the vlookup() function into the first salary cell of the example, Excel already shows us the required parameters to set up this function.</p>

<p><strong>lookup_value</strong>: This is the value that we are using as a reference to lookup in the other table. Normally that could be an ID as we also have here. Therefore, we are selecting the Cell A4 as a lookup_value.</p>

<p><strong>table_array</strong>: This argument wants us to select the whole table where we would expect the answer column to be in. The table_array must have the lookup_value in the very left column, otherwise the vlookup() function will return an error. In our example that would be the Employee salary table ($G$4:$H$6).</p>

<p><strong>col_index_num</strong>: This argument wants us to define the column of our previously defined table_array where we want to get our answer from. Since we want to gain the information on the Annual Salary which is the second column of the table_array, we must take the value 2.
<img src="https://jackieqv.github.io//jackiesblogassets/images/vlookup%20vs%20index_3.png" /></p>

<p><strong>(range_lookup)</strong>: This argument is optional and wants the user to define the accuracy of the lookup_value.:
TRUE → the function will work with an approximate match.
FALSE → the function will only work with an exact match. This is normally what the user wants to set.
<img src="https://jackieqv.github.io//jackiesblogassets/images/vlookup%20vs%20index_4.png" /></p>

<p>In the example above, the vlookup() function returns different results depending on the setting of the parameter (range_lookup). The ID EMP002 is not existent in the Employee salary table. Therefore, setting the parameter on the value true returns a result with an approximately correct ID. In this case for the ID EMP001.</p>

<p>Note that the parameter (range_lookup) is automatically set on TRUE per default if it has not been declared all. This might lead to results that the user is not expecting.
The final result using the vlookup() function should look like this:
<img src="https://jackieqv.github.io//jackiesblogassets/images/vlookup%20vs%20index_5.png" /></p>

<h2 id="using-index">Using index()</h2>
<p>We will solve the same problem with the index function now. The index function is used to return a value or a reference of a cell at the intersection of a particular row and column in a given range. Let’s first look at the parameters of the function again.
<img src="https://jackieqv.github.io//jackiesblogassets/images/vlookup%20vs%20index_6.png" /></p>

<p><strong>array</strong>: is used to define the table, where we want to get our answer from. In our example that would be the Employee salary table ($G$4:$H$6).</p>

<p><strong>row_num</strong>: is used to define the row, from which we want to get the result. In the given example that would be row number 1. But if we would set the parameter to 1, we would always get the same result returned to us, since we hardcoded 1 into the function and therefore it is not automatically adjusted if we apply it to all the other rows.
<img src="https://jackieqv.github.io//jackiesblogassets/images/vlookup%20vs%20index_7.png" /></p>

<p>Therefore, we must come up with a different solution that helps us to automatically find the correct row number for every row we are looking at. To get the correct row number, we will use the match() function, since it returns the relative position of an item in an array that matches a specific value in a specified order. It helps us to always find the correct row number for the index() function.</p>

<p>match() needs three parameters to be filled:
<img src="https://jackieqv.github.io//jackiesblogassets/images/vlookup%20vs%20index_8.png" /></p>

<p><strong>lookup_value</strong>: This is the value that we are using as a reference to lookup in the other table. Normally that could be an ID as we also have here. Therefore, we are selecting the Cell A4 as a lookup_value.</p>

<p><strong>lookup_array</strong>: This parameter wants us to select the column, where we want to find the lookup_value in. Since we want to find our lookup_value from the data table in the salary table, we must select the column ID in the salary table ($G$4:$G$6).</p>

<p><strong>(match_type)</strong>: Similarly, to the (range_lookup) parameter from the vlookup() function, this is an optional parameter that we can use to specify the type of match that we want to receive. Select the value 0 for exact matches.</p>

<p>Note that the parameter (match_type) is automatically set on 1 per default if it has not been declared all. This might lead to results that the user is not expecting.</p>

<p><strong>col_num</strong>: is used to define the column, from which we want to get the result. In the given example that would be column number 2. Since our result will always be in column number two, we can safely hardcode the number 2 to all the other rows.</p>

<p>And here you go using index() and match().
<img src="https://jackieqv.github.io//jackiesblogassets/images/vlookup%20vs%20index_9.png" /></p>

<p>Since using vlookup() is way easier to handle than using index(), I would recommend solving this request with the vlookup() function. But there are some problems with the vlookup function. Imagine the Employee salary table would have its columns in reverse order.
<img src="https://jackieqv.github.io//jackiesblogassets/images/vlookup%20vs%20index_10.png" /></p>

<p>In that case, the vlookup() function does not work anymore, because its lookup_value must always be in the very left column of the table_array. The index() function has no problem with this request at all. Only the col_num parameter must be adjusted to 1. 
<img src="https://jackieqv.github.io//jackiesblogassets/images/vlookup%20vs%20index_11.png" /></p>

<p>A different problem may occur, if the result of our table is depending on a second parameter. Let us consider the second parameter to salary type, we want to look at.
<img src="https://jackieqv.github.io//jackiesblogassets/images/vlookup%20vs%20index_12.png" /></p>

<p>We could adjust our vlookup() function with a match() function, to gain the wanted result. 
<img src="https://jackieqv.github.io//jackiesblogassets/images/vlookup%20vs%20index_13.png" /></p>

<p>The same applies to the index() function. We can adjust it by using a second match() function for the col_num.
<img src="https://jackieqv.github.io//jackiesblogassets/images/vlookup%20vs%20index_14.png" /></p>

<p>To sum this topic up, I would recommend using the vlookup() function whenever it is possible since it is much easier to handle.</p>]]></content><author><name>Janine Quach</name></author><category term="Excel" /><category term="Vlookup" /><category term="Index" /><category term="Excel skills" /><category term="Vlookup" /><category term="Index" /><category term="Vlookup vs. Index" /><summary type="html"><![CDATA[Hi all, today’s blog post is a guest post by my husband Sven, who compares the vlookup() and the index() function in Excel. They are both very useful functions for finding things in a table range. It’s quite a long post to read but a very useful one. Kudos to him for being so dedicated and writing such a long article!:clap: Most of you working an office job and using Excel to analyze data, can probably relate.:computer: I am using the vlookup() function a lot but the function has its limitations. The lookup_value must be always the very left column of the table_array of the function. Therefore, I always find myself inserting columns to get the right order for the vlookup() to function. Understanding the index() function can help you out directly finding your lookup_value without paying attention to the order of the table_array.]]></summary></entry><entry><title type="html">Creating a digital Christmas card</title><link href="https://jackieqv.github.io//jackiesblog/diy/holiday%20greetings/Creating-a-digital-Christmas-card/" rel="alternate" type="text/html" title="Creating a digital Christmas card" /><published>2022-12-03T00:02:00+01:00</published><updated>2022-12-03T00:02:00+01:00</updated><id>https://jackieqv.github.io//jackiesblog/diy/holiday%20greetings/Creating-a-digital-Christmas-card</id><content type="html" xml:base="https://jackieqv.github.io//jackiesblog/diy/holiday%20greetings/Creating-a-digital-Christmas-card/"><![CDATA[<p>Hi all,
it’s Christmas season! :christmas_tree::santa: Time for visiting Christmas markets, drinking mulled wine, and getting cozy at home. I love festivities and like to use the festivities to link up with my arts &amp; crafts projects. I especially enjoy creating greeting cards with water colour. Anything handcrafted, I am so into it! It makes me feel in a flow state, focused and relaxed, and I am so proud of having something created by myself with my hands. It surely boosts self-confidence and is really great for mental health. I can only recommend it to you! 
Check out my crafting projects on Instagram: <a href="https://www.instagram.com/happyknotscologne/">https://www.instagram.com/happyknotscologne/</a></p>

<p>Today, I want to show you how you can create a digital Christmas greeting card. Yep, and you don’t even have to code since there’s a lot of OpenSource code out there which you can just clone to your GitHub repository and modify to your wishes. 
It’s a great way to send seasonal greetings to your family &amp; friends, colleagues and clients.</p>

<p>Moreover, it’s a great way to get into coding and experiment with the creation of these cards!</p>

<p>Here are the steps I took to create the Christmas card:</p>
<ol>
  <li>Export the the files of a template you like and save it to your local folder. I love the template of Łukasz Niedźwiecki on codepen.io: <a href="https://codepen.io/lukasz-niedzwiecki/pen/ZBNmpy">https://codepen.io/lukasz-niedzwiecki/pen/ZBNmpy</a></li>
  <li>Modify the files as you wish. I just replaced the HTML file for the text on the inside of the card.</li>
  <li>Upload the files on a new GitHub Repository and publish the page to see the card.</li>
</ol>

<p>In the end, my card looks like this: <a href="https://jackieqv.github.io/animated-christmas-card/">https://jackieqv.github.io/animated-christmas-card/</a></p>

<p>Wishing you a happy holiday season ahead! :sparkler:</p>

<p>Lovely greetings,
Janine</p>]]></content><author><name>Janine Quach</name></author><category term="DIY" /><category term="Holiday greetings" /><category term="DIY" /><category term="Greeting card" /><category term="Christmas" /><category term="Holiday greetings" /><summary type="html"><![CDATA[Hi all, it’s Christmas season! :christmas_tree::santa: Time for visiting Christmas markets, drinking mulled wine, and getting cozy at home. I love festivities and like to use the festivities to link up with my arts &amp; crafts projects. I especially enjoy creating greeting cards with water colour. Anything handcrafted, I am so into it! It makes me feel in a flow state, focused and relaxed, and I am so proud of having something created by myself with my hands. It surely boosts self-confidence and is really great for mental health. I can only recommend it to you! Check out my crafting projects on Instagram: https://www.instagram.com/happyknotscologne/]]></summary></entry><entry><title type="html">Showing images in md.post on GithubPages with Jekyll</title><link href="https://jackieqv.github.io//jackiesblog/blog/coding/adding-pictures/" rel="alternate" type="text/html" title="Showing images in md.post on GithubPages with Jekyll" /><published>2022-06-26T01:02:00+02:00</published><updated>2022-06-26T01:02:00+02:00</updated><id>https://jackieqv.github.io//jackiesblog/blog/coding/adding%20pictures</id><content type="html" xml:base="https://jackieqv.github.io//jackiesblog/blog/coding/adding-pictures/"><![CDATA[<p>Hi all,
while I was trying to post-add an image in my last post on ‘Creating a blog with Jekyll and Github’ I encountered differences between my test website on the localhost and on GithubPages.
The image was showing fine on localhost with <code class="language-plaintext highlighter-rouge">![image](/assets/example-image-post.png)</code> which I also referenced in the front matter block in the upper part of markdown file. Just like in the image below (it’s an example post that came with the theme and are the first lines of Peter Pan :smiley:):
<img src="https://jackieqv.github.io//jackiesblogassets/images/example-image-post.png" alt="example-image-post" /></p>

<p>Anyway, this just works for the localhost but not on my GitHub domain. After a long troubleshooting session I found out the problem was that I haven’t set up the URL in the <code class="language-plaintext highlighter-rouge">config.yml</code> file. Stumbled upon this <a href="https://stackoverflow.com/questions/69023928/github-pages-with-jekyll-not-showing-images-in-md-post">solution</a> and it solved my problem.</p>

<p>There are two things to do:</p>
<ol>
  <li>URL Set-Up</li>
  <li>Image Tag Set-Up
<br /></li>
</ol>

<p><br />
<em>URL Setup</em></p>

<p>In _config.yml just add 2 lines:</p>
<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">#_config.yml</span>

<span class="na">url</span><span class="pi">:</span> <span class="s1">'</span><span class="s">https://your-github-username.github.io/'</span> <span class="c1"># your main domain</span>
<span class="na">baseurl</span><span class="pi">:</span> <span class="s1">'</span><span class="s">your-repo-name/'</span> <span class="c1"># if you're using custom domain keep this blank example: baseurl: ''</span>
</code></pre></div></div>

<p>Now we are all set with our URL setup, now edit the link tag in yout markdown file.</p>

<p><em>Image Tag Set-up</em></p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"https://your-github-username.github.io/your-repo-name/assets/Untitled.png"</span> <span class="na">alt=</span><span class="s">"Untitled"</span> <span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Afterwards I still wondered why the image was not shown on Mozilla (my default browser) but on other browsers. Turns out I needed to clear the cache. :laughing:</p>

<p>It’s still hard for me to understand the different behaviour between localhost and GithubPages. But I am still a noob…getting there someday.
Thanks for reading and I hope I could help somebody in the internet who encountered the same problem as me.</p>]]></content><author><name>Janine Quach</name></author><category term="Blog" /><category term="Coding" /><category term="Blog" /><category term="GitHub" /><category term="Jekyll" /><category term="minimalmistakes" /><summary type="html"><![CDATA[Hi all, while I was trying to post-add an image in my last post on ‘Creating a blog with Jekyll and Github’ I encountered differences between my test website on the localhost and on GithubPages. The image was showing fine on localhost with ![image](/assets/example-image-post.png) which I also referenced in the front matter block in the upper part of markdown file. Just like in the image below (it’s an example post that came with the theme and are the first lines of Peter Pan :smiley:):]]></summary></entry><entry><title type="html">Creating a blog with Jekyll and Github</title><link href="https://jackieqv.github.io//jackiesblog/blog/coding/create-a-blog-with-jekyll/" rel="alternate" type="text/html" title="Creating a blog with Jekyll and Github" /><published>2022-06-23T01:02:00+02:00</published><updated>2022-06-23T01:02:00+02:00</updated><id>https://jackieqv.github.io//jackiesblog/blog/coding/create-a-blog-with-jekyll</id><content type="html" xml:base="https://jackieqv.github.io//jackiesblog/blog/coding/create-a-blog-with-jekyll/"><![CDATA[<p>Hi all, my first post will be about my experience of how I set up this blog with Jekyll and Github. 
First things first, there are many ways to create a blog. You can use website builders like Jimdo or Wix, where you build your website in minutes using online drag and drop tools. Another very popular choice is WordPress, an online content management system (CMS), which is more complex but you basically use an editor on the graphical user interface to build it and you can add pre-built plug-ins to extend functions on your website. No programming skills needed. 
If you are looking for a easy way to implement your own blog without learning how to code, these options above are for you.</p>

<p>For myself, I wanted to gain technical skills and learn coding, so I took the <a href="https://www.coursera.org/learn/html-css-javascript-for-web-developers">HTML, CSS, and Javascript for Web Developers</a> course on coursera.org, already having in mind to build my own website afterwards (also I really recommend the course! It was a great mix of theory and hands-on assignments). After completing the course, I was still quite overwhelmed to build up a website from scratch, so I began researching and stumbled upon Jekyll, a static site generator written in Ruby. I found the blogging theme of <a href="https://mmistakes.github.io/minimal-mistakes/">minimal mistakes</a>, which I really liked and wanted to use as a template for my blog. The ready-made theme can be cloned from GitHub to your repository and local computer and makes it easier to start right away. Another strong argument for me to build my blog with Jekyll was that it works well with GitHub Pages and allows me to deploy my site for free.</p>

<p>It was quite a challenge for me to work with the command line for the installation and set up. It was a lot of trial and error for the installation and configuration but when it worked it’s like magic is happening :satisfied:</p>

<p>Prerequisites to get started to build your website with Jekyll and Github:</p>
<ul>
  <li>Install Visual Studio Code (or a similar code editor)</li>
  <li>Create an account on Github.com for hosting your website on <a href="https://pages.github.com">GitHub Pages</a></li>
</ul>

<p>Here are the high-level steps I took to build my website with Jekyll:</p>
<ol>
  <li>Decide for a Jekyll theme: This <a href="https://github.com/topics/jekyll-theme">link</a> provides different themes to choose from.</li>
  <li>Clone the theme from the Github repository: I used the remote theme starter of <a href="https://github.com/mmistakes/mm-github-pages-starter">Minimal Mistakes</a> and cloned it as a preconfigured theme to my own repository.</li>
  <li>Clone your online repository to your local folder.</li>
  <li>Install Ruby: Use the documentation on <a href="https://jekyllrb.com/docs/step-by-step/01-setup/">Step by Step Tutorial</a> to set up the installation.</li>
  <li>Configuration: Open your local folder with the cloned repository in Visual Studio Code and replace the sample content with your own and configure as necessary. Test your configuration on the local host.</li>
  <li>Deployment: I used GitHub to host my site which is freely hosted on GitHub’s <code class="language-plaintext highlighter-rouge">github.io</code> domain; Push to GitHub and publish on GitHub Pages. You can also host it under your custom domain or you can use other host providers.</li>
</ol>

<p>For me, it’s a wonderful first project to get into coding and there’s still so much to unpack and learn. I learned the most through trial and error and searching for solutions in developer forums. It has been challenging but also fun.
Here are the sources that helped me most:</p>
<ul>
  <li><a href="https://talk.jekyllrb.com/">Jekyll Forum</a></li>
  <li><a href="https://stackoverflow.com/questions/tagged/jekyll">Stack Overflow Forum</a></li>
</ul>

<p>Also check out this awesome blog on how to build a static website with Jekyll and Github Pages (it’s amazingly explained!): <a href="https://programminghistorian.org/en/lessons/building-static-sites-with-jekyll-github-pages#command-line-tools-suite-">Programming Historian</a></p>

<p>Here is where my editing happens (in Visual Studio code with Markdown files): 
<img src="https://jackieqv.github.io//jackiesblogassets/images/screenshot-editing.png" alt="screenshot-editing" /></p>

<p>I will post about certain challenges I’ve encountered in the future and I might add other features and improvements into this blog as well over time.</p>

<p>Stay tuned :heartbeat:</p>]]></content><author><name>Janine Quach</name></author><category term="Blog" /><category term="Coding" /><category term="Blog" /><category term="GitHub" /><category term="Jekyll" /><category term="minimalmistakes" /><summary type="html"><![CDATA[Hi all, my first post will be about my experience of how I set up this blog with Jekyll and Github. First things first, there are many ways to create a blog. You can use website builders like Jimdo or Wix, where you build your website in minutes using online drag and drop tools. Another very popular choice is WordPress, an online content management system (CMS), which is more complex but you basically use an editor on the graphical user interface to build it and you can add pre-built plug-ins to extend functions on your website. No programming skills needed. If you are looking for a easy way to implement your own blog without learning how to code, these options above are for you.]]></summary></entry><entry><title type="html">Welcome to this blog</title><link href="https://jackieqv.github.io//jackiesblog/blog/welcome/" rel="alternate" type="text/html" title="Welcome to this blog" /><published>2022-06-15T01:54:00+02:00</published><updated>2022-06-15T01:54:00+02:00</updated><id>https://jackieqv.github.io//jackiesblog/blog/welcome</id><content type="html" xml:base="https://jackieqv.github.io//jackiesblog/blog/welcome/"><![CDATA[<p>I can’t believe this is happening. My blog is live now!
This blog is about everything I am interested in. No limits but always content that fosters knowledge. My interests are in topics such as learning&amp;development, tech economy, tech tricks and computer skills, health &amp; well-being, crafting projects, cooking recipes, Chinese culture and more. I like to see this blog as a medium to document the things I’ve learned and share this knowledge with the world. This blog is already a project itself because I dived into coding to build this site and it is a continuous project for improving my skills in this area. Also read about my journey of how I set up this blog in one of my first blog posts!</p>]]></content><author><name>Janine Quach</name></author><category term="Blog" /><category term="About me" /><summary type="html"><![CDATA[I can’t believe this is happening. My blog is live now! This blog is about everything I am interested in. No limits but always content that fosters knowledge. My interests are in topics such as learning&amp;development, tech economy, tech tricks and computer skills, health &amp; well-being, crafting projects, cooking recipes, Chinese culture and more. I like to see this blog as a medium to document the things I’ve learned and share this knowledge with the world. This blog is already a project itself because I dived into coding to build this site and it is a continuous project for improving my skills in this area. Also read about my journey of how I set up this blog in one of my first blog posts!]]></summary></entry></feed>