C#
○番目の検索値より左側を返すユーザー関数です
/// <summary>
/// ○番目のキーより左側
/// </summary>
/// <returns>さがす文字列より左側</returns>
/// <param name="source">検索される値</param>
/// <param name="key">検索値</param>
/// <param name="nth">何番目の検索値?(1-)</param>
string StrLeft(string source, string key, int nth = 1)
{
string result = source;
if(1 > nth)
{
result = @"";
return result;
}
int start = 0;
int next;
for(int i = 1; i < nth; i++)
{
next = source.IndexOf(key, start, StringComparison.CurrentCultureIgnoreCase);
if(0 > next)
{
break;
}
result = source.Substring(0, next);
start = next + key.Length;
}
return result;
}
Excel
最初の検索値より左側を返す式はこちらです
=LET(VVALUE,検索される値,VKEY,検索値,VERROR,エラー時の値,IFERROR(LEFT(VVALUE,FIND(VKEY,VVALUE)-1),VERROR))
最後の検索値より左側を返す式はこちらです(LETでまとめていません)
=LEFT(検索される値,FIND(仮の検索値,SUBSTITUTE(検索される値,検索値,仮の検索値,LEN(検索される値)-LEN(SUBSTITUTE(検索される値,検索値,"")))-1)
Lotus Script 言語
左側から検索される値を検索します
文字値 = StrLeft (検索される値,検索値,比較方法,何番目の検索値?)
文字値 = StrLeft (検索される値,検索値,比較方法)
文字値 = StrLeft (検索される値,検索値)
右側から検索される値を検索します
文字値 = StrLeftBack (検索される値,検索値,比較方法,何番目の検索値?)
文字値 = StrLeftBack (検索される値,検索値,比較方法)
文字値 = StrLeftBack (検索される値,検索値)
比較方法
0 = 大文字小文字、全角半角を区別します
1 = 大文字小文字を区別しません
4 = 全角半角を区別しません
5 = 大文字小文字、全角半角を区別しません
戻り値には検索値を含みません
例: {ABCAB} = Strleft ({ABCABC},{c},1,2)
Lotus 式言語
左側から検索される値を検索します
文字値 = @Left (検索される値,検索値)
右側から検索される値を検索します
文字値 = @LeftBack (検索される値,検索値)
戻り値には検索値を含みません
例: {AB} = @Left ({ABCABC},{C})
大文字小文字、全角半角を区別します
例: {ABCab} = @Left ({ABCabc},{c})