セルから半角英数だけを抽出する方法
文字と数値が混ざったセルから、文字だけを抽出したいときの関数
文字と数値が混ざったセルから文字だけを抽出したい場合の関数についての記事。
やりたいことをパターン化する。
- 1文字目から順にみて、数値がでてきたらそれより手前だけを抽出。
- 数値だけを除去したいとき。
1の場合は、「エクセル技道場」様の26を参照のこと。
活用例
”-”(ハイフン)がある場合も対応し、前半にもASC関数をいれて計算結果も半角に変換した時の数式。
=LEFT(ASC(G43),MIN(FIND({0,1,2,3,4,5,6,7,8,9,"-"},ASC(G43)&"0123456789-"))-1)
2はまたの機会で、
フォルダ内の複数のCSVを結合する まとめる
Sub test()
'説明 指定フォルダ内のCSVをすべて結合して、保存するプロシージャ
CRFILE = ActiveWorkbook.Path & "\test.csv" '1*
Dim obj As Object
Dim arg As String
arg = ActiveWorkbook.Path & "\downloads\*.csv " '2*
Set obj = Nothing
Call Shell(Environ("ComSpec") & " /c copy /b " & arg & CRFILE)
End Sub
1*結合したCSVの保存先、ファイル名を指定 上記ではアクティブブックと同じディレクトリにtest.csvというファイル名で保存される
2* フォルダを指定 上記ではアクティブブックの保存されているディレクトリの"downloads"内のフォルダの全てのCSVが結合される
引用元 半角チルダ様
不等号を含む文字列に絡むCOUNTIFの不具合について
表1.範囲
表2.検索条件
=COUNTIF(表1,表2のA2~E2のどれか1つのセル)
とした場合、A2~E2のどのセルの場合も計算結果は "4"となる。
対処方法は下記の通り
前: =COUNTIF(表1,A2)
後: =COUNTIF(表1,"="&A2)
空白を含むデータの種類を数える数式
データ範囲に空白が含まれかつ空白を1種類として数える場合
=SUMPRODUCT((A3:A65<>"")/COUNTIF(A3:A65,A3:A65&""))+IF(COUNTBLANK(A3:A65)>0,1,0)
※データ範囲をA3:A65とした場合
データ範囲に空白が含まれかつ空白を1種類として数えない場合
=SUMPRODUCT((A3:A65<>"")/COUNTIF(A3:A65,A3:A65&""))
※+IF~ を消す。