式は正しくできあがったと思うのですが、
参照する値が最初からA列に入っているのですが
後からB列にVLOOKUP関数を入れてもエラーになってしまい、A列の参照する値をもう一度上書きするとB列に正しい値が表示されます。

参照元と参照先の表示形式も同じですし、半角、全角を間違えている事もありません。

セルによっては、A列にただ上書きするだけでB列が表示されるものと、A列に参照元の値をコピペしないとB列が表示されないものがあります。

正しい値が表示されるので、式自体は間違えていないと思うのですが、何がおかしいのかわかりません。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こんにちは!



>式自体は間違えていないと思うのですが、
>何がおかしいのかわかりません。

A列のデータが文字列になっているのでは
ないでしょうか?
[確認]
1.表示形式を確認してみて下さい!
  文字列に設定されているのであれば標準に
2.A列のデータの頭に[']が付いていると
  文字列扱いになります。

1または2であった場合
・A列を選択 書式設定 表示形式を標準に設定
・A列を選択 メニューの データ 区切り位置
 なにもしないで 完了ボタン

これで 数[字] が 数[値] に変わります!
    • good
    • 0

>後からB列にVLOOKUP関数を入れてもエラーになってしまい・・・



 例)=VLOOKUP(D1,A1:B3,2,FALSE)
 後から入れる方法はどの様にいれてますか
 範囲を選択し黒十字にしてコピーしていませんか
 だとすると例のA1とB3が変わってしまいエラーになる事があります

解決策
 A1:B3 を $A$1:$B$3
 のようにすれば良いと思います。

個々まで書いてなんですが思いっきり滑っていたらごめんなさい。

なにか有れば補足して下さい。
    • good
    • 0
この回答へのお礼

書き方が下手ですみません。
VLOOKUP関数を始めて使うもので、$をつけないで
数字が変わってしまう事も、だいぶ苦労しました。
ありがとうございました。

お礼日時:2001/10/15 16:50

このQ&Aに関連する人気のQ&A

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

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

Q≪膜タンパク質は不安定?≫

≪膜タンパク質は不安定?≫

生物学を少しかじった程度なので、常識的な質問なのかもしれませんが
回答をよろしくお願いいたします。

膜タンパク質は、一般的に不安定だと言われるようですが
なぜ不安定なんでしょうか。
その不安定というのは、「構造的に」という意味でしょうか。

また、古細菌の膜タンパク質(バクテリオロドプシンなど)は
「比較的安定」と言われるようですがそれはなぜなのでしょうか。

教えていただきたいです。よろしくお願いします。

Aベストアンサー

まず、「膜タンパク質は、一般的に不安定だと言われるようですが
なぜ不安定なんでしょうか。
その不安定というのは、「構造的に」という意味でしょうか。」
 これは膜たんぱく質は膜に接する部分(要するにたんぱく質の外側の部分)のアミノ酸の配列が疎水性のアミノ酸であるため、水を加えると不安定になります。(要するに変性する可能性が高くなります)

なお古細菌の膜たんぱく質の構造には詳しくないので、申し訳ないです。

QA列とB列の重複を抽出したいのですがA列とB列の値は一部だけ同じ文字です。ご教示お願いします。

エクセル初心者です。重複を見つけるのが仕事です。いろいろやってみたのですがうまくできません。
お知恵をお貸しください。

A列には企業名が入力されています。
B列にも企業名が入力されていますが全く同じ文字ではないのです。

たとえばこういうことです。
A1 (有)雪見酒      B1  雪見
A2 株式会社豪雪地帯   B2 (株)豪雪地帯
A3 ゆきかき本舗     B3 (有)ゆきかき本舗

A列にある企業名とB列にある企業名が同じであればセルを塗りつぶすか○を表示させるように
したいのです。
重複を見つけるのが目的なので、ほかの方法でもかまいません。
すみません、A列のセルとB列のセルが全く同じ名前ならば重複が見つけられたのですが
ここから先がどうしてもわからないのです。。。
申し訳ありませんがどうか教えてください。。。

Aベストアンサー

No4です。以下のマクロを標準モジュールへ登録してください。
--------------------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim nameT1() As String
Dim nameT2() As String
Dim t1, t2 As Variant
t1 = Time
maxrow1 = Cells(Rows.Count, "A").End(xlUp).row '最大行取得
maxrow2 = Cells(Rows.Count, "B").End(xlUp).row '最大行取得
ReDim nameT1(maxrow1)
ReDim nameT2(maxrow2)
Range("C1:" & "D" & maxrow2).Value = ""
Call makeTable(nameT1, "A", maxrow1)
Call makeTable(nameT2, "B", maxrow2)
For row1 = 1 To maxrow1
For row2 = 1 To maxrow2
If Cells(row2, "C") = "" Then
If Mymatch(nameT1(row1), nameT2(row2)) = True Then
Cells(row2, "C").Value = "○"
Cells(row2, "D").Value = row1
End If
End If
Next
Next
t2 = Time
MsgBox ("チェック完了 処理時間=" & Minute(t2 - t1) & "分" & Second(t2 - t1) & "秒")
End Sub
'余分な文字を削除した結果をテーブルに格納する
Private Sub makeTable(ByRef nameT() As String, ByVal col As String, ByVal maxrow As Long)
Dim row As Long
Dim ary As Variant
Dim name As String
Dim i As Long
ary = Array("㈱", "(株)", "株式", "(有)", "有限", "会社")
For row = 1 To maxrow
name = Cells(row, col).Value
For i = 0 To UBound(ary)
name = Replace(name, ary(i), "")
Next
nameT(row) = name
Next
End Sub
'企業名が一致かどうか判定する
Private Function Mymatch(ByVal name1 As String, ByVal name2 As String) As Boolean
Mymatch = False
Dim pos As Variant
pos = InStr(1, name1, name2, vbTextCompare)
If pos > 0 Then Mymatch = True
End Function
-----------------------------------------------------
一致の精度が悪ければその旨補足してください。
(一致すべきものが一致しない、一致してはいけないものが一致している)
100%解決できる保証はありませんが、多少のチューニングは行います。

No4です。以下のマクロを標準モジュールへ登録してください。
--------------------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim nameT1() As String
Dim nameT2() As String
Dim t1, t2 As Variant
t1 = Time
maxrow1 = Cells(Rows.Count, "A").End(xlUp).row '最大行取得
maxrow2 = Cells(Rows.Count, "B").End(xlUp).row '最大行取得
ReDim ...続きを読む

Q世界情勢は不安定?

不安定だと聞きますが、具体的にはどう不安定なのですか?
なぜ不安定なのですか?
日本は露骨に危険ですがwほかの国はよくわかりません。

Aベストアンサー

マスコミの戦略でしょう。宗教の勧誘と同じ手口で、不安を煽ったら信者(視聴者、購読者)が増えるということです。新聞の第一面に戦争が終わったわけでもなく、災害から立ち直ったでもないのに、『世界は平和だ』なとどヘッドラインを組んでも売れないでしょう。第二次大戦時、冷戦時の方がよほど成果情勢が不安定だったに違いありません。

日本は無防備すぎて危険だというのは当たっていると思います。

QExcel2013 VBA A列とB列の文字をA列とB列とC列に移動させる方法

A列とB列に文字が入っているのですが、下記のようにA列とB列とC列に文字を移動させたいです。
(A列の数字は必ず奇数のA列に入っています。)
VBAのコードを教えて下さい。

例えば
A1 1  B1 cat
A2 空白 B2 猫
A3 空白 B3 dog
A4 空白 B4 犬
A5 2  B5 whale
A6 空白 B6 クジラ
A7 3  B7 rabbit
A8 空白 B8 ウサギ

とデータがある場合

A1 1  B1 cat  C1 猫
A2 空白 B2 dog  C2 犬
A3 2  B3 whale  C3 クジラ
A4 3  B4 rabbit C4 ウサギ

としたいです。

実際、データは、A5196まであります。

Aベストアンサー

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
Application.ScreenUpdating = True
MsgBox "完了"
End Sub

少しは短縮できると思います。m(_ _)m

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeB...続きを読む

Q精神的に不安定な恋人が「いる方アドバイスをください

精神的に不安定な恋人が「いる方アドバイスをください

精神的に不安定の恋人がいる方に相談です。

相手が不安定になり、別れたいと言われたり、責められたりしたときどう対処してますか?

対応の仕方を間違えてしまうと相手を気づつける気がしてしまいます。

Aベストアンサー

こんにちは。
私は時々精神不安定になります。
私は一人暮らしなのでそういう時に支えてくれるのはいつも彼氏です。

どういった対応をすればいいかは、その恋人にもよりますが、させたいようにさせとけばいいと思います。

責められたら黙って聞いてあげてください。別れたいといわれたら、好きだよといってあげてください。自分を受け止めて貰えると安心させてあげて下さい。
別れたいは多分本心ではないです。苦しくてなにもかも嫌になって一次的に空っぽになりたいのだと思います。

私の例ですが…私はよく 彼氏を泣き続けたり叩いたり 出ていって!っていってしまいます。彼氏は一回出ていって、しばらくすると私の好きな食べ物や本を買ってきてくれたりします。

あと…恋人があまりにも不安定そうならば精神科に連れていってはどうですか?

QA1に数字の1を入力するとB1の値がA1に表示、A2に数字の2を入力するとB2の値がA2に表示

エクセル初心者です

セルのA1に数字の1を入力するとB1の値がA1に表示、A2に数字の2を入力するとB2の値がA2に表示されるようなものを作りたいのですが・・・
どなたかご教授お願いします

例えば、A1に1を入れるとB1の値"北海道"がA1に表示され、A2に2を入れるとB2の値"青森"がA2に表示といった感じでです

宜しくお願いいたします

Aベストアンサー

No3,5,6です。
補足要求をしましたが時間がないので、No6での以下の理解、

B4がROOT,C4が♭9,D4が9,E4がm3,F4がM3~M4がM7
置き換え対象はB6:W11の範囲

ということでいいのなら以下で出来ます。

1.シートのタブを右クリックし、コードの表示を選択
2.出てきたVBエディター(白い画面)に下記をコピペ

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x
If Intersect(Target, Range("B6:W11")) Is Nothing Then Exit Sub
x = Target.Value
Application.EnableEvents = False
Target.Value = Range("A4").Offset(0, x)
Application.EnableEvents = True
End Sub

3.AltキーとF11キーを一緒に押してワークシートへもどります。

Q不安定

 簡単な質問ですいません。

よく不安定に成ったとか、不安定に成るとか言われますが、

どうゆう状態に成った時ですかピントきません。

宜しく お願いします。 

 

Aベストアンサー

あるメーカーの同じPCでも、人により使うソフトや設置場所、
更新・メンテナンス状態がマチマチなので、不安定、不具合の
症状もバラバラなのが実情です。

操作や動作が重く感じれば、不具合だと気づく人もいれば
まぁ、こんなもんかぁ~って感じる人もいるので、感じ方も
千差万別なのです。

勝手に再起動を繰り返す、起動途中で固まるなどは分かりやすい
ですが、症状が時々現れる、固まる過程に一貫性がない場合は、
不安定と感じる人が多いです。
その症状は、ソフトの組み合わせやサービスパック、パーツの
接触不良、埃、経年劣化で発生場合が多いです。

Q【EXCEL】条件付き書式、A列、C列、D列、E列が同じ値の時にB列の背景色を変えたい

お世話になります。

エクセルの条件付き書式の数式の使い方について教えて下さい。
A列、C列、D列、E列の値が同じ時にB列のセルの背景を青に
塗りつぶしたいと思っています。

なので、「数式を使用して、書式設定するセルを決定」、
「次の数式を満たす場合に値を書式設定」で、数式を
「=A1=C1=D1=E1」と入力し、書式、塗りつぶし、青、
を選択して、条件付き書式を設定しました。
すると、、、画像のような結果になります。

私の感覚だと画像でセルの値が「11」~「15」の時だけ
B列が青になると思うのですが実際の結果は画像の通りです。

先の話の通りA列、C列、D列、E列の値が同じ時だけ
B列のセルの背景を青にしたい場合はどうい数式になるのでしょうか?

すいませんが、詳しい方、数式(関数?)で説明できる方よろしくお願い致します。

追記
可能でしたらA列、C列、D列、E列が空白の時はB列の背景色をなしにしたいと思っております。
→A列、C列、D列、E列に値があって、かつ同じ値の場合のみB列の背景を青にしたいです。

お世話になります。

エクセルの条件付き書式の数式の使い方について教えて下さい。
A列、C列、D列、E列の値が同じ時にB列のセルの背景を青に
塗りつぶしたいと思っています。

なので、「数式を使用して、書式設定するセルを決定」、
「次の数式を満たす場合に値を書式設定」で、数式を
「=A1=C1=D1=E1」と入力し、書式、塗りつぶし、青、
を選択して、条件付き書式を設定しました。
すると、、、画像のような結果になります。

私の感覚だと画像でセルの値が「11」~「15」の時だけ
B列が青にな...続きを読む

Aベストアンサー

AND関数を使えば判定ができるのでは?
 =AND(A2<>"",A2=C2,C2=D2,D2=E2)

A列には常に判定する数値が入っているなら「A2<>""」は不要です。

参考サイト
http://www.relief.jp/itnote/archives/003940.php

Q制御工学における不安定零点の定義

皆さんよろしくお願いいたします。

制御工学において、ボードの定理を勉強中です。
ボードの定理の前提となっている最小位相推移系の1つの条件として
不安定零点を持たない系(もう1つは安定極であること)があります。
不安定零点とは何でしょうか?

教科書では、伝達関数
    K(s-z1)(s-z2)・・・(s-zm)
G(s)=----------     ただし(m≦n)
    (s-p1)(s-p2)・・・(s-pn)
において、不安定零点とはRe(zm)<0と定義していますが、なぜでしょう。
不安定という形容詞が付いているくらいなので、その名の
由来及び定義または、それらを掲載しているURLなどをご存知の方、
いらっしゃいましたらご教示いただきたく、お願いいたします。

Aベストアンサー

不安定零点とは連続系では、「右半平面に存在する零点」です。
つまり、実部が正の零点です。こいつがあると、位相が最小位相にならない。
Gp1(s)=( s+1)/(s^2 + s + 1) と
Gp2(s)=(-s+1)/(s^2 + s + 1) は
ゲイン特性は同じだけど位相特性は違う。
(Gp2の位相はGp1よりも180°も遅れる)

で、このときのGp2の零点を不安定零点と呼ぶ。
この不安定零点の実部は正になっています。

実部が正の極は不安定極と呼ばれますので、
零点の場合も合わせて不安定零点と呼んで
いるのだと思います。
もっと言えば、
不安定零点を持つシステムの逆は
当然ながら不安定極を持ちます。
「逆システムを構成すると“不安定”な極となってしまう“零点”」
ということだと思われます。

なお、このシステムにステップ入力などを入れても
不安定な挙動は示しませんのでご注意ください。
(安定性を支配しているのは極なので)

制御屋さんから見ると、不安定零点があると
アンダーシュートしたり、逆システムを組んだときに
不安定になってしまうことの方が問題になっています。
とはいっても、いろんな対処法があります。

はっきり言って、リファ可能な「由来」については・・わかりません。
この不安定零点は制御をやっている人なら誰でも
知っていますが、由来というのは過去に聞いたこと
無いですね。
数学屋さんに聞いたほうがいいかも知れませんね。

(参考までに)
不安定零点についてある程度書かれた教科書としては、
Goodwin著のControl system design がいいと思われます。

不安定零点とは連続系では、「右半平面に存在する零点」です。
つまり、実部が正の零点です。こいつがあると、位相が最小位相にならない。
Gp1(s)=( s+1)/(s^2 + s + 1) と
Gp2(s)=(-s+1)/(s^2 + s + 1) は
ゲイン特性は同じだけど位相特性は違う。
(Gp2の位相はGp1よりも180°も遅れる)

で、このときのGp2の零点を不安定零点と呼ぶ。
この不安定零点の実部は正になっています。

実部が正の極は不安定極と呼ばれますので、
零点の場合も合わせて不安定零点と呼んで
いるのだと思います。
もっと...続きを読む

Q例えば、AさんからGさんまでがA列に縦に並んでいてB列に数字が入っています。B列にある数字の合計をA

例えば、AさんからGさんまでがA列に縦に並んでいてB列に数字が入っています。B列にある数字の合計をA-Gさん別々に出したいんですが簡単なvbaの記述方法はないでしょうか?
お願いします。

Aベストアンサー

こんばんは!

A列のA~Gさんは複数存在しているのでしょうか?
そうであればSUMIF関数で対応できると思いますが、VBAをお望みだというコトですので
一例です。

元データはSheet1にあり、Sheet2に表示するとします。
尚、Sheet1の1行目は項目行でデータは2行目以降にあるという前提です。
標準モジュールにしてください。

Sub Sample1()
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
.Range("A:A").AdvancedFilter Action:=xlFilterCopy, copytorange:=wS.Range("A1"), unique:=True
lastRow = wS.Cells(Rows.Count, "A").End(xlUp).Row
With Range(wS.Cells(2, "B"), wS.Cells(lastRow, "B"))
.Formula = "=SUMIF(Sheet1!A:A,A2,Sheet1!B:B)"
.Value = .Value
End With
End With
End Sub

こんな感じではどうでしょうか?m(_ _)m

こんばんは!

A列のA~Gさんは複数存在しているのでしょうか?
そうであればSUMIF関数で対応できると思いますが、VBAをお望みだというコトですので
一例です。

元データはSheet1にあり、Sheet2に表示するとします。
尚、Sheet1の1行目は項目行でデータは2行目以降にあるという前提です。
標準モジュールにしてください。

Sub Sample1()
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
.Range("A:A...続きを読む


人気Q&Aランキング

おすすめ情報