• ベストアンサー

エクセルのヘルプ文章に誤記がある?

エクセル関数「RIGHT」を調べていたら、ヘルプの文章「文字列から文字を削除する」に間違いと思われる記載が見つかりました。 シートに貼り付けても説明(計算結果)の結果(B1)にはなりません。 数式の一部を(-5)に変えると説明どおりになります。 誤 =RIGHT(A3, LEN(A3)-8) A3 ↓ 正 =RIGHT(A3, LEN(A3)-5) A3 私一人の勘違いではないですよね?(バージョン:Excel2003/SP2) マイクロソフトのヘルプってこんなものなのでしょうか? --------------------------------------------------------------- ↓ヘルプのコピー 『 文字列から文字を削除する すべて表示 すべて非表示 文字列の左端または右端から指定した字数の文字を削除する この処理を実行するには、LEN、LEFT、および RIGHT 関数を使用します。 ワークシートの例 使用例を新規のワークシートにコピーすると、計算結果を確認できます。 その方法は? 新しいブックまたはワークシートを作成します。 新しいブックまたはワークシートを作成します。 ヘルプから使用例を選択する Ctrl キーを押しながら C キーを押します。 ワークシートのセル A1 を選択し、Ctrl キーを押しながら V キーを押します。 計算結果と結果を返す数式の表示を切り替えるには、Ctrl キーを押しながら ` (アクサン グラーブ) キーを押すか、または [ツール] メニューの [ワークシート分析] をポイントし、[ワークシート分析モード] をクリックします。 1 2 3 A データ ビタミン A ビタミン B1 数式 説明 (計算結果) =LEFT(A2, LEN(A2)-2) A2 の文字列の右から 2 文字を取り除きます (ビタミン) =RIGHT(A3, LEN(A3)-8) A3 の文字列の左から 5 文字を取り除きます (B1) 関数についての詳細情報 LEN LEFT RIGHT [置換] コマンドを使って、ワークシートから指定した文字列を削除する 』

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>=RIGHT(A3, LEN(A3)-8) A3 の文字列の左から 5 文字を取り除きます (B1) 確かに間違ってますね^^; LEN()関数は文字列長を返す関数ですから、そこから8引いたら 3文字、余計に取り除かれちゃいますね。 とほほ・・・ >マイクロソフトのヘルプってこんなものなのでしょうか? たぶんそんなもんですw よくぞ発見してくれましたw ぜひ報告してあげてください^^;

その他の回答 (2)

  • fenglu
  • ベストアンサー率43% (317/735)
回答No.3

関係無いですが、Vistaのヘルプなんてひどいもんですよ。 ヘルプで「『グローバルの設定』をクリック」となっているところが、実際に見てみると「共通の設定」だったりとか。 ファイル共有の三段階あるアクセス権も全部名前が違うし。

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.2

おそらく原語(英語)は vitamin B1 となっていたと思われます。技術者でない人が和訳してミスってますね。日本語だけ「5文字」に直してる。データは英語のまま訳さなければいいのに。 英語ページの単純ミスは滅多にないと思いますが、翻訳ミスや意味不明の日本語はよくありますね。ヘルプはしょうがないですが、MSの日本語サイトの記述がよくわからないときは英語のページを見ます。

関連するQ&A

  • エクセルの文字列・数値【長文です】

    昨日、LEFT関数の使い方を教えていただきましたが、これですとLEFT関数を用いたところが【文字列】として認識されました。【数値】として認識させる方法を教えてください。 初心者で申し訳ございません。 昨日の質問・いただいた回答は以下の通りでした。 ≪質問≫ [123456/あいうえお/abc][234567/かきくけこ/efg]のようなデータがいくつかあって(例えばA列に)、B列に[123456][234567]、C列に[あいうえお][かきくけこ]、D列に[abc][efg]と表記できるような【関数】を教えてください。 ≪いただいた回答≫ A1にデータがあったとして。 B列 =LEFT(A1,SEARCH("/",A1,1)-1) C列 =LEFT(RIGHT(A1,LEN(A1)-SEARCH("/",A1,1)),SEARCH("/",RIGHT(A1,LEN(A1)-SEARCH("/",A1,1)),1)-1) D列 =RIGHT(RIGHT(A1,LEN(A1)-SEARCH("/",A1,1)),LEN(RIGHT(A1,LEN(A1)-SEARCH("/",A1,1)))-SEARCH("/",RIGHT(A1,LEN(A1)-SEARCH("/",A1,1))))

  • Left関数とRight関数を合わせたような

    こんにちは いつもお世話になっています。 A列に文字列があります。 文字の長さは不定ですが、左から3文字、右から4文字は共通して不要なので削除したいです。right,leftの両関数を合わせたような関数を教えてください。 二列で分けて処理するのではなく一回の関数で処理希望です。 =LEFT(A2,LEN(A2)-4)&RIGHT(A2,LEN(A2)-3) こんなので失敗しています。 よろしくお願いします エクセル2007

  • Find ヘルプの見方がわからない

    ヘルプを見てもわからないので教えてください。 aaaaa@yahoo.co.jp で、「@」より左の文字列を取得したいので、 「@」が何文字目にあるかをVBAで調べたいです。 ヘルプでWorksheetFunction.Find メソッドを見てるのですが --------------------------------------------------------- 名前 必須/オプション データ型 説明 Arg1 必須 文字列型 (String) ワークシートの名前を指定します。 Arg2 必須 文字列型 (String) 範囲の名前を指定します。 Arg3 オプション バリアント型 (Variant) 検索を調整する引数の名前を指定します。 --------------------------------------------------------- と記載されているのですが Sub a() Dim i As Long i = Application.WorksheetFunction.Find() End Sub のFindの中にはどのように記載すればいいのでしょうか? そもそもArg1 の「ワークシートの名前を指定します。 」がまずわからないのですが。 VBAで行いたいので、ワークシートは関係ない気がします。 もしかして私が見てるヘルプはVBAのヘルプではないのでしょうか? ご回答よろしくお願いします。

  • Excel 関数について

    一番右の1文字だけを削除する関数を調べたら下記の数式がありました。 しかし、1.75は1.7と表示されますが、1.70だと1.となります。0が無視されてしまいます。 原因は何でしょうか?また、良い方法はないでしょうか? LEFT(A 1.LEN(A1 )-1)

  • エクセルの入力規制で2つの条件を指定したいです

    2つの条件とは・・・ 7桁で、かつ文字列にO(ローマ字のオー)以外が入力されている場合OK。それ以外の場合はエラーを返したいです。 今わかっている数式は 入力規則の条件を、「ユーザー定義」 数式を =AND(LEN(A1)=7,LEFT(A1,1)<>"O")  です。 ですが、これだと7桁かつ左の文字がOの場合のみエラーになると言う意味になってしまうので、LEFTを何に変えればよいのでしょか。 どうか、宜しくお願いします。

  • excelでの計算をaccessで実現可能か?

    excelでの計算をaccessで実現可能か? 文字列の中にスペースと+の記号があった場合、スペースを削除し、+までの文字列を抽出ということをexcelの計算式で実施しています。 例: B4のセルに ABCD+0001 という文字列があった場合、下記の計算式により、 =IF(LEN(B4)>13,LEFT(TRIM(B4),LEN(TRIM(B4))-FIND("+",TRIM(B4))-1),B4) ABCDという文字列を抽出できます。 この計算式をaccessで実現可能でしょうか? フィールド1に元の文字列、フィールド2に抽出結果を算出したいのです。

  • Excel VBAの割り算の記述に関して

    各シートにA列とB列の計算した結果をC列に出力するようなExcel VBAの記述をしたいのですが、 シートAには、計算する個数を入力します。 開発タブよりフォーム コントロールのボタンを選択します。 ボタンを押すと シートBには、A列とB列のそれぞれの値の和の結果をC列に シートCには、A列とB列のそれぞれの値の差の結果をC列に シートDには、A列とB列のそれぞれの値の積の結果をC列に シートEには、A列とB列のそれぞれの値の商の結果をC列に シートEの割り算の計算ですが、小数点を出力したい。 割り算がうまく出力してくれません。"/"を使えば良いと思うのですが、異なる結果が出て困っています。以下の記述のどこが間違っているのでしょうか。 Sub 問題作成() Dim count As Long Dim input_training As Long Dim left_num As Long Dim right_num As Long Dim answer_num As Long input_training = Range("A1").Value ' 加算 Worksheets("SheetB").Range(("A2"), ("C100000")) = "" ' 減算 Worksheets("SheetC").Range(("A2"), ("C100000")) = "" ' 積 Worksheets("SheetD").Range(("A2"), ("C100000")) = "" ' 商 Worksheets("SheetE").Range(("A2"), ("C100000")) = "" Randomize For count = 1 To input_training left_num = Int(1000 * Rnd) right_num = Int(1000 * Rnd) answer_num = left_num + right_num Worksheets("SheetB").Cells(1 + count, 1) = left_num Worksheets("SheetB").Cells(1 + count, 2) = right_num Worksheets("SheetB").Cells(1 + count, 3) = answer_num Next ' 減算 For count = 1 To input_training left_num = Int(1000 * Rnd) right_num = Int(1000 * Rnd) answer_num = left_num - right_num Worksheets("SheetC").Cells(1 + count, 1) = left_num Worksheets("SheetC").Cells(1 + count, 2) = right_num Worksheets("SheetC").Cells(1 + count, 3) = answer_num Next ' 積 For count = 1 To input_training left_num = Int(1000 * Rnd) right_num = Int(1000 * Rnd) answer_num = left_num * right_num Worksheets("SheetD").Cells(1 + count, 1) = left_num Worksheets("SheetD").Cells(1 + count, 2) = right_num Worksheets("SheetD").Cells(1 + count, 3) = answer_num Next ' 商 For count = 1 To input_training left_num = Int(1000 * Rnd) right_num = Int(1000 * Rnd) answer_num = left_num / right_num Worksheets("SheetE").Cells(1 + count, 1) = left_num Worksheets("SheetE").Cells(1 + count, 2) = right_num Worksheets("SheetE").Cells(1 + count, 3) = answer_num Next End Sub

  • Excel2002でFREQUCNY関数。垂直配列の結果を返すべきなのに1しか返してくれない。どうしたら?

    CTRL+SHIFT+RETURN はヘルプで解ったのですが、それは解決策になりませんでした。返り値である垂直配列の場所を指定するタイミングがわかりません。このタイミングを、経験のあるかたどうぞ教えてください。 背景 ヒストグラム(度数分布表)を作って作図したいです。 Excelでやるのが簡単かなと思いましたが、ヘルプどおり実行しても、目的の結果が得られず、下記のとおり、困っています。 Excel2002のヘルプで、FREQUENCYという項目を見てください。FREQUENCYの実例があります。例の、指示どおりに、試験点数の並びの例を、excelに貼り付けました。期待と違って、演算結果の垂直配列(っていうのかな)が、帰ってきません。=FREQUENCY(A2:A10,B2:B5) を打ち込んでいるセルの場所に、1 って帰ってくるだけです。ヘルプでは、以下のように書いてあります。ヘルプのとおり、F2を打って、CTRL+SHIFT+Returnをやっても、改善しません。 ---FREQUENCY関数のヘルプの最終段落から抜粋開始---- 使用例を新規ワークシートにコピーした後、A13 から A16 のセル範囲 (配列数式が入力されているセルが左上になる) を選択します。F2 キーを押し、Ctrl キーと Shift キーを押しながら Enter キーを押します。これにより、他の計算結果も表示されます。この数式が配列数式として入力されていない場合、単一の値 1 のみが計算結果として返されます。 ---抜粋終了---- 記述自体がおかしいな、納得できないな、と感じる部分として、(1)「左上になる」という記述→「真上になる」では?(2)「F2キーを押し、・・・Enterキーを押します。これにより・・・表示されます」→実施しても、1以外、全然表示されないのですが・・・。 どうやったら良いのかわかりません。実際に旨くいった方、どうぞ教えてください。Windows2000pro, Excel 2002, ThinkPadです。

  • 《エクセル》配列数式について教えて下さい

    いつもお世話になります。 先日、このページで質問した時、配列数式について教えていただいて、例をもとに自分で作成しようとしたのですが、うまくいきません。 集計表A列とB列に項目行があり、別のファイル[Book1.xls]のSheet1にあるデータを羅列した表のA列とB列にある項目の2つのセルの内容に合致するデータ数をカウントする場合 =COUNTA(IF('[BOOK1.xls]Sheet1'!$A$2:$A$2000=$A1*'[BOOK1.xls]Sheet1'!$B$2:$B$2000=$B1)) と入力して、Shift+Ctrl+Enterキーを打ったのですが、「入力した数式にはエラーがあります」のエラーメッセージが出てきて、ヘルプを読んでみても解決方法がわかりませんでした。 お手数ですが、ご教授宜しくお願い致します。

  • Excelの計算式内の文字列の一括置換は出来ますか

     Excelで、計算式の命令内の文字列を置換する方法はあるでしょうか。例えば、あるワークシートのセルで別のファイルやワークシートのセルを参照して計算している時、ほとんど同じ計算式で参照先だけを変えたい場合です。計算結果のワークシートのA列で、  A1=sum('G:\北海道'!A1:A100)  A2=sum('G:\北海道'!B1:B100)  A3=sum('G:\北海道'!C1:C100)・・・ となっているとします。つまり、北海道.xlsというシートの1から100までの列範囲の和を計算しているとして、B列には同様の青森県.xlsからの同じセル範囲の同じ計算、C列には岩手県.xlsからの同じ計算、D列には・・・というように、計算式が全く同様で、参照元のファイル名だけを変えたい場合です。  もう一つ、類似のものとして、計算結果のワークシートで、  A2=sum('G:\北海道'!B1:B100)  A3=sum('G:\北海道'!C1:C100)  A4=sum('G:\北海道'!D1:D100)・・・・ というように、計算式内の行や列を表す記号や数値を置換することは可能でしょうか。  同じような作業は出来るだけ簡単な操作でできる、というのが良いソフトのイメージなのですが、私が現在知る範囲では1つ1つ式を書き換えています。特にリンク貼り付けでやると、計算結果のワークシートでうまくコピーができません(上記では、北海道をB1で青森県に変えておいてそれをB2以下にコピーすると上手く行かない)。  宜しくお願い致します。

専門家に質問してみよう