目次
MID関数とMIDB関数について
MIDとMIDBの概要
指定位置から文字列を取り出すExcel関数/文字操作 | ||||||||||||||||||||||||||||||||||||||||||||
=MID( 文字列 , 開始位置 , 文字数 ) =MIDB( 文字列 , 開始位置 , 文字数 ) 概要 開始位置から指定した文字数分、文字列を取り出す |
||||||||||||||||||||||||||||||||||||||||||||
|
MIDはどのような時に使用するか
- 苗字と名前の間にスペースがある文字列について名前を取り出したい
MIDの使い方
A | B | C | D | E | |
1 | 3 | 1 | |||
2 | 神奈川県 | 川
=MID( C2 , D1 , E1 ) ※D1において、3を指定し、1文字分である川を表示 |
|||
3 | |||||
4 | |||||
5 | |||||
6 | |||||
7 | 和歌山県 | 3 | 2 | ||
8 | 山県
=MID( C7 , D7 , E7 ) ※D7において、3を指定し山、E7で2を指定して2文字分である山県を取り出す |
||||
9 |
MIDBで山県を表示するには、全角1文字が2文字分であるため =MID(C7,5,4)とする |
||||
10 | |||||
11 | |||||
12 |
MIDでFINDを使って取得する方法
- FINDで文字の位置を取得して、その文字以降の文字列を取得します
A | B | C | D | |
---|---|---|---|---|
1 | 特定の文字G以降を削除 |
以降を削除 =MID( B1 , FIND(“G” , B1 )+1 , 1000) Gの次の文字以降を表示する。MIDの中身は、MID(B1,6+1,1000)となっている |
||
2 | ||||
3 | ||||
4 | ||||
5 |
MIDで右から取得するには
- MIDは右から取得する関数ではなく、指定した位置以降を取得します。例えば右から2文字を取得したいということであればRIGHTを用います。
A | B | C | D | |
---|---|---|---|---|
1 | 右から取得できるか |
るか =RIGHT( B1 , 2 ) 右から2文字の「るか」が表示される |
||
2 | ||||
3 | ||||
4 |
MIDで最後まで取得するには
- MIDの第二引数に1000などの大きな数を入れればよいですが、より確実な方法はLENを指定する方法です。
A | B | C | D | |
---|---|---|---|---|
1 | 長文であっても問題ない |
問題ない =MID( B1 , 8 , LEN(B1)) LEN(B1)とすることでセル内の文字数11が指定される。 |
||
2 | ||||
3 | ||||
4 | ||||
5 |
MIDで日付を取得するには
- 日を取得したいとしても、日付はシリアル値ですから、通常の方法では、シリアル値の下2桁が表示されるのみです。そこで日付をTEXTによって整形します
- [ホーム]→[数値]→プルダウンメニューから[その他の表示形式]→[表示形式]→[ユーザー定義]→m/dを選択、とするとシリアル値は維持したまま月日のみが表示される。
A | B | C | D | |
---|---|---|---|---|
1 | 2023/4/10 |
4/10 =TEXT( B1 , “d/m” ) 文字形式を変更して表示 =MONTH(B1)&”/”&DAY(B1) としてもよい。 |
||
2 | ||||
3 | ||||
4 | ||||
5 | ||||
6 | ||||
7 |
MIDで複数セルについて取得できるか
- MIDは範囲指定をすることができないため、一旦文字列を結合して処理します
A | B | C | D | |
---|---|---|---|---|
1 | A1セルと | B1セルの処理 |
の処理 =MID(CONCATENATE( A1 , B1 ) , 10 , 1000 ) 結合した文字列の10文字目である「の」以降を表示 |
|
2 | ||||
3 | ||||
4 | ||||
5 |
MIDとMIDBに関する参考解説
Excelの関数を検索する
分類 | 関数 | 説明 |
---|---|---|
日付 | DATE | 年月日から日付を求める |
日付 | DATEDIF | 開始日から終了日までの期間を求める |
日付 | DAY | 日付から日を抽出する |
日付 | EDATE | 指定月後の月日を求める |
日付 | EOMONTH | 指定月後の月末を求める |
日付 | EOMONTH+1 | 指定月後の月初めを求める |
日付 | HOUR | 時刻から時間を取り出す |
日付 | MINUTE | 時刻から分を取り出す |
日付 | MONTH | 日付から付きを抽出する |
日付 | NETWORKDAYS | 営業日数を求める(土日休日型) |
日付 | NETWORKDAYS.INTL | 営業日数を求める(定休日と休業日指定型) |
日付 | NOW | 今日の日付と時刻を求める |
日付 | SECOND | 時刻から秒を取り出す |
日付 | TIME | 時間を指定して時刻データを作成する |
日付 | TODAY | 今日の日付を求める |
日付 | WEEKNUM | 1月1日から何週目かを求める |
日付 | WEEKDAY | 年月日から曜日番号を求める |
日付 | WORKDAY | 営業日について指定した日数後の年月日を求める |
日付 | WORKDAY.INTL | 営業日について指定した日数後の年月日を求める(定休日と休業日指定型) |
日付 | YEAR | 日付から年を抽出する |
文字操作 | & | 文字列を結合する |
文字操作 | ASC | 全角文字を半角文字に置き換える |
文字操作 | CHAR/CLEAN | 改行を削除する |
文字操作 | CONCAT | 文字を範囲指定で結合する |
文字操作 | CONCATENATE | 文字列を結合する |
文字操作 | COLUMN | 列番号を取得する |
文字操作 | DELTA | 数値が等しいかを判定する |
文字操作 | EXACT | 文字列が等しいかを判定する |
文字操作 | FIND(B) | セル内の指定した文字の位置を求める |
文字操作 | ISODD | 指定した数値が奇数か偶数かを判定する |
文字操作 | JIS | 半角文字を全角文字に置き換える |
文字操作 | LEFT(B) | 指定した文字数分の文字を先頭から取り出す |
文字操作 | LEN(B) | 文字数をカウントする |
文字操作 | LOWER | 文字列を小文字にする |
文字操作 | MID(B) | 指定した文字以降の文字を取り出す |
文字操作 | NUMBERSTRING | 漢数字に変換する |
文字操作 | PHONETIC | フリガナを取り出す |
文字操作 | PROPER | 文字列の先頭を大文字にする |
文字操作 | REPLACE(B) | 指定した位置にある文字を置き換える |
文字操作 | REPT | 指定回数分の文字列を表示 |
文字操作 | RIGHT(B) | 指定した文字数分の文字を末尾から取り出す |
文字操作 | ROW | 行番号を取得する |
文字操作 | SUBSTITUTE | 指定した文字列を置き換える |
文字操作 | SEARCH(B) | セル内の指定した文字の位置を求める |
文字操作 | TEXT | 日付などの数値(シリアル値)を文字形式に変換、抽出する |
文字操作 | TEXTJOIN | 文字列を結合する |
文字操作 | TRIM | 余分な空白を削除する |
文字操作 | UPPER | 文字列を大文字にする |
文字操作 | VALUE | 文字列を数値(シリアル値など)に変換する |
論理 | 論理式 | TRUEとFALSE |
論理 | AND | すべての条件を満たす論理式 |
論理 | IF | 論理式の結果によって表示を切り替える |
論理 | IFS | 複数の論理式の結果によって表示を切り替える |
論理 | OR | いずれかの条件を満たす論理式 |
論理 | SWITCH | 論理式の結果によって表示を切り替える |
数学 | AGGREGATE | 指定した19の集計方法で集計値を求める |
数学 | CEILING | 基準値の単位で切り上げる |
数学 | FLOOR | 基準値の単位で切り下げる |
数学 | INT | 小数点以下を切り捨てる |
数学 | ISEVEN | 偶数柿数かを判定する |
数学 | MOD | 割り算の余りを求める |
数学 | MROUND | 基準値の単位で四捨五入する |
数学 | POWER | べき乗を求める |
数学 | PRODUCT | 掛け算を求める |
数学 | QUOTIENT | 割り算の商を求める |
数学 | RAND | 乱数を発生させる |
数学 | ROUND | 指定した桁で四捨五入する |
数学 | ROUNDDOWN | 指定した桁で切り捨てる |
数学 | ROUNDUP | 指定した桁で切り上げる |
数学 | SUBTOTAL | 指定した11の集計方法で集計値を求める |
数学 | SUM | 数値の合計を求める |
数学 | SUMIF | 特定の条件を満たすセルの合計値を求める |
数学 | SUMIFS | 複数の条件を満たすセルの合計値を求める |
数学 | SUMPRODUCT | 条件付きセルの乗算数の合計を求める |
数学 | SUMPRODUCT | セルの乗算数の合計を求める |
数学 | TRUNC | 指定した桁数を切り捨てる |
数学 | TRUNC | 小数点以下を切り捨てる |
検索 | CHOOSE | インデックス数値に対応する値を表示する |
検索 | FILTER | 条件に一致する行のデータを求める |
検索 | INDEX | 範囲内の指定したデータを取り出す |
検索 | INDEX | 指定した行位置に対応する列データを取り出す |
検索 | INDEX | 指定した列位置に対応する行データを取り出す |
検索 | LOOKUP | 検索値に一致するデータを検索する |
検索 | MATCH | 値に一致する行位置を求める |
検索 | MATCH | 値に一致する列位置を求める |
検索 | UNIQUE | 重複するデータをまとめる |
検索 | VLOOKUP | 検索値に一致するデータを検索する |
検索 | VLOOKUP | 検索値に対応するデータ(範囲型)を求める |
統計 | AVERAGE | 平均値を求める |
統計 | AVERAGEA | 平均値を求める |
統計 | AVERAGEIF | 条件に合う数値の平均値を求める |
統計 | AVERAGEIFS | 複数の条件に合う数値の平均値を求める |
統計 | COUNT | 指定したデータの個数を求める |
統計 | COUNTA | 指定したデータの個数を求める |
統計 | COUNTBLANK | 空白セルの個数を求める |
統計 | COUNTIF | 条件に合うデータ数を求める |
統計 | COUNTIFS | 複数の条件に合うデータ数を求める |
統計 | FREQUENCY | データの度数を求める |
統計 | LARGE | 大きいほうからの順位の数値を求める |
統計 | MAX | データの最大値を求める |
統計 | MAXA | データの最大値を求める |
統計 | MAXIFS | 複数条件を満たす最大値を求める |
統計 | MEDIAN | 中央値を求める |
統計 | MIN | データの最大値を求める |
統計 | MINA | データの最大値を求める |
統計 | MINIFS | 複数条件を満たす最小値を求める |
統計 | MODE.MULT | データの最頻値を求める(こちらを推奨) |
統計 | MODE.SNGL | データの最頻値を求める(MODE.MULT推奨) |
統計 | PERCENTILE.EXC | 百分位数(パーセント)を求める |
統計 | PERCENTILE.INC | 百分位数(パーセント)を求める |
統計 | PERCENTRANK.EXC | データの位置を百分率で求める |
統計 | PERCENTRANK.INC | データの位置を百分率で求める |
統計 | QUARTILE.EXC | 四分位数を求める |
統計 | QUARTILE.INC | 四分位数を求める |
統計 | RANK.EQ | データの順位を求める |
統計 | SMALL | 小さいほうからの順位の数値を求める |
統計 | STDEV.P | 標準偏差(母集団型)を求める |
統計 | STDEV.S | 標準偏差(標本型)を求める |
統計 | STDEVA | 標準偏差(標本型で論理等含む)を求める |
統計 | STDEVPA | 標準偏差(母集団型で論理等含む)を求める |
統計 | VAR.P | データの分散(標本分散)を求める |
統計 | VAR.S | データの分散(不偏分散)を求める |
統計 | VARA | データの分散(不偏分散)を求める |
統計 | VARPA | データの分散(標本分散)を求める |