I’m sure once splitter gets the kinks worked out, it will be far more elegant than this, but if anyone’s curious, this is what I did:
Get the count for the halfway point, rounded, with PHP.
{exp:channel:entries channel="links" dynamic="off" {preview} orderby="link_order" category="2"}
{if count == total_results}
<?php
$total_results = '{total_results}';
$half_results = round($total_results/2);
?>
{/if}
{/exp:channel:entries}
Then set up an embed for each column, and pass it the halfway point. In the first embed, this is used as the limit, and in the second it’s the offset (you could really do this one template and an if statement, but oh well).
<div id="blogroll_container">
<div class="blogroll">
{embed="embeds/blogroll1" limit='<?php echo "$half_results" ?>'}
</div>
<div class="blogroll blogroll_two">
{embed="embeds/blogroll2" offset='<?php echo "$half_results" ?>'}
</div>
<br class="clear_both">
</div>
and the embed would look like:
{exp:channel:entries limit="{embed:limit}" channel="links" dynamic="off" {preview} orderby="link_order" category="2"}
<a href="http://{link_url}" target="_blank" rel="noopener">{title}</a>
{/exp:channel:entries}
and
{exp:channel:entries offset='{embed:offset}' channel="links" dynamic="off" {preview} orderby="link_order" category="2"}
<a href="http://{link_url}" target="_blank" rel="noopener">{title}</a>
{/exp:channel:entries}