ママのスキンケアのお悩みにおすすめアイテム

vlookup関数であるシートの値と元シートの値を比較しているようなシートを作成しているのですが、明らかに比較先に値がある場合でも正しく動作しません。そこで比較先の値をダブルクリックしたところ、たちまち、認識するようになります。
みたところ同じなのですが、一旦触らないと同じ値という認識をしないのはなぜかわかりますでしょうか?

A 回答 (3件)

こんにちは。

maruru01です。

おそらく、それは数値データだと思います。
セルに入力されている値は、一見数値のように見えて、実は文字列として入力されている場合があります。
そして、文字列として入力されているかどうかはなかなか見た目では判断出来ません。
また、一度文字列としてセルに入力されてしまうと、再編集(セルをダブルクリックして一度再編集モードにするだけでOK)しないと、セルの表示形式をいくら、「数値」などにしても、ダメな場合がほとんどのようです。

そこで、文字列になってしまっている数値データを、一度に数値として認識させる方法です。
まず、どこかまったく使用したことがないセルをクリックして、コピーします。
そうしたら、文字列→数値に変換したい範囲を全て選択します。
そして、メニューの[編集]→[形式を選択して貼り付け]で[演算]の[加算]にチェックして[OK]します。
これで、範囲内の数値データは全て数値として認識されるようになります。
    • good
    • 2
この回答へのお礼

ありがとうございます。元が数値だったのを文字に変換していたつもりが(表示形式を変えるだけでは)変換されていなかったようでした。
数値を文字に、という方法を考えていましたが、両方とも回答内容に従い数値に変換することにより問題は解決されました。ありがとうございました。

お礼日時:2004/01/06 17:50

もう、すでに解決していらっしゃるようなので本当に蛇足です。



Vlookup など照合の関数を使う時には「データ型」がトラブルの原因になることがよくあります。
書式だけを変更しても内容は更新されないので、ダブルクリックしたり、F2 キーを押してからEnter など一度編集作業をする必要があります。
データ量が多い時はたまりません。関数を使ってデータ型を変換して、元に位置に「値貼り付け」する方法もありますが。

もし、またこういうトラブルに合われた場合は、[データ]-[区切り位置]というコマンドを使ってみてください。
データ型を変更したい範囲を選択してから、このコマンドを実行します。ウィザードが起動しますが、3枚目までは何も変更しないでいいです。3/3 でデータを文字列にしたい場合、それを選択し、数字データを数値にしたい場合は標準にしてOKするだけで、とても簡単です。
ウィザードをよく見ると、コード類などのデータを特定の桁で分割したりも簡単です。

これを知ってから結構作業が楽になったので、お知らせまで。
    • good
    • 1
この回答へのお礼

ありがとうございます。vlookupを覚えてから猿の一つ覚えのごとく使っていましたが、今回、思いがけなくうまくいかなく行き詰まっていました。おかげさまで、活用できそうです。

お礼日時:2004/01/07 15:45

まったくの予想ですが、ツール-オプションの「計算方法」のタグの「計算方法」(こっちは項目名)で、「手動」にチェックされてませんか?

    • good
    • 0
この回答へのお礼

回答ありがとうございます。手動にはチェックされていませんでした。その項目をダブルクリックをすると左寄のデータが右寄せになり、別の項目にカーソルを移すとまた左寄せになります。(最終形は元と一緒なのですが)
ダブルクリックによりなにか編集されているようなんですが・・。

お礼日時:2004/01/06 17:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcel セルの値を数値と認識しない

口座照会の明細をコピーし、Excel に貼り付けて作業をしようと思うのですが、セルに金額が入っているにも関らず、オートサムをかけても結果が「0」になってしまいます。

書式設定で「数値」に変更しても結果は変わりません。
どのようにしたらセルの値を数値と認識させることができるのでしょうか。

変更方法、もしくは値を数値に変換できる関数等がありましたらご教授ください。
VALUE関数を使っても、結果は「#VALUE!」となってしまいます。

銀行のサイトからcsvファイルをダウンロードできれば、上記のような懸案は無いのですが、会社のセキュリティーが厳しくダウンロードできないため、このような問い合わせをします。

何卒お力添え下さいますよう宜しくお願いいたします。

Aベストアンサー

>口座照会の明細をコピーし、Excel に貼り付けて作業をしようと思う

インターネット画面からコピーしたときに,目に見えないゴミデータを一緒にコピーしてきてしまって上手く行かないご相談がしばしば寄せられます。


方法1:
数字を縦一列選択します
セルの書式は標準に設定しておきます
データメニュー(Excel2007移行を使っている場合はデータタブ)の「区切り位置」を開始し,そのまま完了をクリックします
計算できるか確認します


方法2:
=VALUE(CLEAN(A1))
としてから計算できないかやってみます。

QEXCELの数字が認識されない

ご存知の方がいらっっしゃったら教えてください。
Excelの数字が認識されなくて困っています。

別の部署より送ってもらった商品の品番・品名・価格などの表から
VLOOKUP関数を使い、別の表へ品番から品名や価格を導きたいのですが、
なぜか送ってもらった表の数字が認識されていないようです。

何度やっても、エラーになります。
送ってもらった元の表の品番をあとから私が入力しなおすと認識されて
関数もつかえるのですが、沢山ある品番を全部入力しなおすのは大変です。
なにかいい方法はありますか?

ちなみに表示形式を数字にしてもだめです。
コピーして値だけを貼り付けとかにしてみてもだめでした。

よろしくおねがします

Aベストアンサー

空いている列を作業列にして

=TRIM(A1) や =CLEAN(A1) を使って、元の列に形式選択の値で貼りつけしてみるとか。

Qエクセルで数式の結果が反映されない(自動計算になっているのに)

すいません、教えてください。

エクセル(XP)で数式が自動計算されなくなって
しまいました。

  ※ツールのオプションはちゃんと自動計算に
   なっているのに全く反映されません。

今まで全く問題なく作業できていたので
原因が分からず困っています。

数式等のエラーだとは考えにくいです。
と言うのも数式のあるセルをダブルクリックして
選択し、そのままEnterキーを押すと計算結果が
反映されます。
ただ、今まで全て自動計算されていたのが
全く動かなくなってしまったんです。

同じようなトラブルを経験された方、又は
詳しい方、どうかよろしくお願いします。

Aベストアンサー

原因は分からずじまいになってしまいましたが
同じことがありました。

「Officeの救急隊」を試してみましょう。
ボタン一発で全ての設定が元に戻ります。
http://www.vector.co.jp/soft/win95/util/se247118.html
(ツールバーなども初期状態に戻ります)

私の場合はコレで直ってしまいました^^

参考URL:http://www.vector.co.jp/soft/win95/util/se247118.html

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む

Qエクセルで、頭に0をつけて数字の桁を揃える方法

エクセルで、必ず5桁の数字を入れる列があるとします。
ところが、数値データとして最初に作っているので、0が頭になく桁が足りない場合があります。
任意文字として5桁の数字にしたいのですが、

何かいい方法はありませんでしょうか?

例)
A列 A列
50      00050
1000  ⇒  01000
11111    11111

どうぞよろしくお願いいたします。

Aベストアンサー

次の方法は如何でしょうか。
(1)表示だけで良いのならば、セルの書式設定→表示形式→ユーザ定義で00000を設定
(2)データとして必要ならば、空き列(仮にB列)B1に=TEXT(A1,"00000")を入力、下方向にコピー→B列をコピー→A列に形式を選択して貼り付けで「値」を選択→OK、B列を削除

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

Q[エクセル] セルが空だったら一つ上のセルを自動入力する

こちらには困ったときにいつもお世話になっております。
今回もよろしくお願いいたします。

EXCEL2002にて、セルが空だったら一つ上のセルを自動入力するようにしたいのです。状況といたしましては、ある個人情報管理アプリケーションが、吐き出すCSVファイルがあります。それが、困ったことに一人の人に複数の情報がある場合、個人情報ナンバーを省略します。わかりずらいと思いますので、以下の表をご覧ください。

個人情報ID 電話番号
0001     01-2345-1111
0002     01-2345-2222
        01-2345-2223
0003     01-2345-3333
        01-2345-3334
        01-2345-3335
        01-2345-3336
0004     01-2345-4444

以上のような表になります。そこで、「0002」の下の空のセルにも0002。「0003」の下の3つの空のセルすべてに0003を自動的に入力できるようにしたいのです。各々コピーしていけば何とか埋まるのですが、データ量が多くかなり時間がかかってしまいます。

解決方法をご存知の方がいらっしゃいましたら、お力添えの程、よろしくお願いいたします。

こちらには困ったときにいつもお世話になっております。
今回もよろしくお願いいたします。

EXCEL2002にて、セルが空だったら一つ上のセルを自動入力するようにしたいのです。状況といたしましては、ある個人情報管理アプリケーションが、吐き出すCSVファイルがあります。それが、困ったことに一人の人に複数の情報がある場合、個人情報ナンバーを省略します。わかりずらいと思いますので、以下の表をご覧ください。

個人情報ID 電話番号
0001     01-2345-1111
0002     01-2345-2222
...続きを読む

Aベストアンサー

こんにちは

・A列の対象範囲を選択
・編集 ジャンプ セルの選択 「空白セル」にチェック
・数式バーに =An(注) と入力後
 [Ctrl]を押したまま[Enter] で入力確定

セル行(n) はアクティブセルの直上セル行値です
 対象セル(空白セル)が選択された状態で1箇所だけ
 反転していないセルがアクティブセルです。
例えば以下の場合
 A4がアクティブセルになっている筈なので =A3 と
 なります。

   A       B
1 個人情報ID 電話番号
2 0001     01-2345-1111
3 0002     01-2345-2222
4         01-2345-2223
5 0003     01-2345-3333
6         01-2345-3334
7         01-2345-3335
8         01-2345-3336
9 0004     01-2345-4444


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング