The unofficial, easy, free way.
- If you're not already using it, switch to the new version of Yahoo! Calendar by going to the following URL:
http://switch.calendar.yahoo.com/
- Access your calendar at http://calendar.yahoo.com/
- Click the "Options" button at the right side of the page and select "Share Calendar"
- In the right side, click the "Other Ways to Share" to reveal more text
- Click the link that appears under the ".ICS Link" heading (e.g., under "If your contacts use other calendar / to do list programs, they can subscribe to this calendar / to do list (view-only) via this link.")
- You should be prompted to download a file. Save or download it (you don't need to open it)
- Go to Google Calendar: http://www.google.com/calendar
- On the left side of the page, you should have a box named "Other calendars". In the lower-right corner of this box, you should see a link named "Add". Click it to reveal a menu. Select "Import calendar" in that menu.
- The new dialog will prompt you to upload the file you've downloaded from Yahoo! Calendar. Find the file on your computer, then select into which (Google) calendar the events should go. Press "Import" and you're done!