結論
下記のスプレッドシートの「katakana2romaji」をご自身のシートにコピーして使ってください。
https://docs.google.com/spreadsheets/d/1yRK8a640VTDl-Jq2NVVcqcSKRVdzXmga9VlX7vyYGJM/edit?usp=sharing
使用方法
上記シートをコピーした後、
カタカナからローマ字変換を表示したいセルに下記の関数を入力してください。
※「A1」をカタカナが書いてあるセルを参照するように書き換えてください
=regexreplace(join("",arrayformula(vlookup(split(regexreplace(regexreplace(regexreplace(regexreplace(A1,"\s", " "),"ー",""),"","+"),"\+(ァ|ィ|ゥ|ェ|ォ|ャ|ュ|ョ)", "$1"),"+",true,true),katakana2romaji!$A$7:$B,2,false))),"ッ([a-z])","$1$1")
解説 どのような手順で変換しているのか
「サッターフォ リョウスケ」を例として説明します。
①全ての空白を半角スペースに変換
=regexreplace(A1,"\s", " ")
出力:サッターフォ リョウスケ
②伸ばし棒(ー)を無くす
=regexreplace(①,"ー","")
出力:サッタフォ リョウスケ
③全ての文字の間に「+」を入れる
=regexreplace(②,"","+")
出力:+サ+ッ+タ+フ+ォ+ +リ+ョ+ウ+ス+ケ+
④+の後が ァ|ィ|ゥ|ェ|ォ|ャ|ュ|ョ のどれかなら+を取り一つ前の文字とセットにする
=regexreplace(③,"\+(ァ|ィ|ゥ|ェ|ォ|ャ|ュ|ョ)", "$1")
出力:+サ+ッ+タ+フォ+ +リョ+ウ+ス+ケ+
⑤+で分割
=split(④,"+",true,true)
出力:[,サ,ッ,タ,フォ, ,リョ,ウ,ス,ケ,]
⑥一文字ずつvlookupで表から探す
※配列を一文字ずつ扱うためにarrayformulaで括っています。
※「ッ」のみ最後に変換を行うので「ッ」のままにしています。
※半角スペースも表の中にいれてエラーが出ないようにしています。
=arrayformula(vlookup(⑤(一文字),katakana2romaji!$A$7:$B,2,false))
出力:[,sa,ッ,ta,fo, ,ryo,u,su,ke,]
⑦結合する
=join("",⑥)
出力:saッtafo ryousuke
⑧「ッ」を一文字後ろのアルファベットに置き換える
=regexreplace(⑦,"ッ([a-z])","$1$1")
出力:sattafo ryousuke
補足
・ひらがなも表に加えればひらがなも変換対応可能
・もう少しカスタマイズすればカタカナ3文字の特殊パターンを変換することもできる(「リョウ」を「ryo」など)